diff --git a/.gitignore b/.gitignore
index 9b103d8..a1f724f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,6 @@
+_del
+_test
+
04_poc
**/*del
**/*bak
diff --git a/03_source/mobile.trunk.1/.editorconfig b/03_source/mobile.trunk.1/.editorconfig
deleted file mode 100644
index f1cc3ad..0000000
--- a/03_source/mobile.trunk.1/.editorconfig
+++ /dev/null
@@ -1,15 +0,0 @@
-# http://editorconfig.org
-
-root = true
-
-[*]
-charset = utf-8
-indent_style = space
-indent_size = 2
-end_of_line = lf
-insert_final_newline = true
-trim_trailing_whitespace = true
-
-[*.md]
-insert_final_newline = false
-trim_trailing_whitespace = false
diff --git a/03_source/mobile.trunk.1/.firebaserc b/03_source/mobile.trunk.1/.firebaserc
deleted file mode 100644
index 711741d..0000000
--- a/03_source/mobile.trunk.1/.firebaserc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "projects": {
- "default": "ionic-react-conference-app"
- }
-}
diff --git a/03_source/mobile.trunk.1/.github/CONTRIBUTING.md b/03_source/mobile.trunk.1/.github/CONTRIBUTING.md
deleted file mode 100644
index 20ff866..0000000
--- a/03_source/mobile.trunk.1/.github/CONTRIBUTING.md
+++ /dev/null
@@ -1,59 +0,0 @@
-# Contributing to the Ionic React Conference Application
-
-Thank you for taking the time to contribute! :tada::+1:
-
-The following is a set of guidelines for contributing to the conference app. These are just guidelines, not rules, use your best judgment and feel free to propose changes to this document in a pull request.
-
-## Table of Contents
-- [Reporting Issues](#reporting-issues)
- - [Before Submitting an Issue](#before-submitting-an-issue)
- - [Determining the Repository](#determining-the-repository)
- - [Submitting the Issue](#submitting-the-issue)
-- [Submitting a Pull Request](#submitting-a-pull-request)
- - [Guidelines for Submitting](#guidelines-for-submitting)
- - [Code Style](#code-style)
-
-## Reporting Issues
-
-Before submitting an issue, please go through [the list below](#before-submitting-an-issue) as you might find a solution to your issue.
-
-### Before Submitting an Issue
-
-* Make sure you get the latest version of the code and run through the [Getting Started](https://github.com/ionic-team/ionic-react-conference-app#getting-started) steps to see if this resolves your issue.
-* Check the [forum](https://forum.ionicframework.com) for similar questions and answers.
-* Go through [all issues](https://github.com/ionic-team/ionic-react-conference-app/issues?utf8=%E2%9C%93&q=is%3Aissue) on this repository to see if the issue has already been created. It could have been closed with a resolution, so check closed issues, too.
-* Chat with us on [Discord](https://ionic.link/discord) to see if we can find a solution to the problem!
-* [Determine which repository](#determining-the-repository) the problem should be reported in.
-
-### Determining the Repository
-
-There are several repositories being used for Ionic, which makes it difficult to determine which one to report an issue to. Don't worry if you aren't sure, we can always move it!
-
-* The [Ionic Framework repository](https://github.com/ionic-team/ionic-framework) is a repository for all things related to the Ionic Framework. If you are able to reproduce the issue in any of the Ionic starters (or an existing project), you'll want to submit the issue [here](https://github.com/ionic-team/ionic-framework/issues).
-* The [Ionic CLI repository](https://github.com/ionic-team/ionic-cli) contains all of the code that allows you to run `ionic` commands from a terminal window. It is safe to put any issues [here](https://github.com/ionic-team/ionic-cli/issues) that relate to running an `ionic` command.
-* **This repository** is a demo of the Ionic Framework. If you find an issue with this app that does not occur on [a new app](https://ionicframework.com/docs/intro/cli#start-an-app), please submit the issue [here](https://github.com/ionic-team/ionic-react-conference-app/issues).
-
-### Submitting the Issue
-
-* **Use a clear and descriptive title** for the issue to identify the problem. This makes it easier for others to find.
-* **Describe the exact steps to reproduce the problem** with as many details as needed.
-* **Provide your configuration** by running `ionic info` in a terminal from *within* the project folder and pasting this information in the issue.
-
-## Submitting a Pull Request
-
-### Guidelines for Submitting
-
-When in doubt, keep your pull requests small. To give a PR the best chance of getting accepted, do not bundle more than one "feature" or bug fix per PR. Doing so makes it very hard to accept it if one of the fixes has issues.
-
-It's always best to create two smaller PRs than one big one.
-
-Talk to us before creating a PR that refactors the code or directory structure of the project. This project is constantly changing to reflect the latest version of Ionic Framework so sometimes it will be in the process of getting fixed.
-
-### Code Style
-
-Make sure to follow the existing code style as much as possible.
-
-* No underscores prefixing JS functions.
-* Use flat Sass:
- * **Don't** use [BEM conventions](https://css-tricks.com/bem-101/)
- * Avoid nesting selectors. This is done to make it easier for users without Sass experience to understand and read.
diff --git a/03_source/mobile.trunk.1/.gitignore b/03_source/mobile.trunk.1/.gitignore
deleted file mode 100644
index 9b9e15d..0000000
--- a/03_source/mobile.trunk.1/.gitignore
+++ /dev/null
@@ -1,89 +0,0 @@
-**/*Zone.Identifier
-**/*bak
-**/*del
-**/*log
-**/*tmp
-
-# Logs
-.firebase
-logs
-*.log
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-# Runtime data
-pids
-*.pid
-*.seed
-*.pid.lock
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-
-# nyc test coverage
-.nyc_output
-
-# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Bower dependency directory (https://bower.io/)
-bower_components
-
-# node-waf configuration
-.lock-wscript
-
-# Compiled binary addons (http://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directories
-node_modules/
-jspm_packages/
-
-# Typescript v1 declaration files
-typings/
-
-# Optional npm cache directory
-.npm
-
-# Optional eslint cache
-.eslintcache
-
-# Optional REPL history
-.node_repl_history
-
-# Output of 'npm pack'
-*.tgz
-
-# Yarn Integrity file
-.yarn-integrity
-
-# dotenv environment variables file
-.env
-
-# See https://help.github.com/ignore-files/ for more about ignoring files.
-
-# dependencies
-/node_modules
-
-# testing
-/coverage
-
-# production
-/dist
-
-# misc
-.DS_Store
-.env.local
-.env.development.local
-.env.test.local
-.env.production.local
-
-npm-debug.log*
-yarn-debug.log*
-yarn-error.log*
-
-.stencil/
diff --git a/03_source/mobile.trunk.1/.netlify/_redirects b/03_source/mobile.trunk.1/.netlify/_redirects
deleted file mode 100644
index 50a4633..0000000
--- a/03_source/mobile.trunk.1/.netlify/_redirects
+++ /dev/null
@@ -1 +0,0 @@
-/* /index.html 200
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/.netlify/state.json b/03_source/mobile.trunk.1/.netlify/state.json
deleted file mode 100644
index f97268e..0000000
--- a/03_source/mobile.trunk.1/.netlify/state.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "siteId": "86675615-6271-4145-8ffe-9c78dc4d34a3"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/.prettierrc b/03_source/mobile.trunk.1/.prettierrc
deleted file mode 100644
index ecf89ac..0000000
--- a/03_source/mobile.trunk.1/.prettierrc
+++ /dev/null
@@ -1,30 +0,0 @@
-{
- "tabWidth": 2,
- "semi": true,
- "singleQuote": true,
- "trailingComma": "es5",
- "printWidth": 100,
- "overrides": [
- {
- "files": "src/App.tsx",
- "options": {
- "printWidth": 160
- }
- },
- {
- "files": "src/routes/*",
- "options": {
- "printWidth": 160
- }
- },
- {
- "files": [
- "*.html",
- "legacy/**/*.js"
- ],
- "options": {
- "tabWidth": 4
- }
- }
- ]
-}
diff --git a/03_source/mobile.trunk.1/.vscode/settings.json b/03_source/mobile.trunk.1/.vscode/settings.json
deleted file mode 100644
index 3662b37..0000000
--- a/03_source/mobile.trunk.1/.vscode/settings.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "typescript.tsdk": "node_modules/typescript/lib"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/LICENSE b/03_source/mobile.trunk.1/LICENSE
deleted file mode 100644
index 623c70a..0000000
--- a/03_source/mobile.trunk.1/LICENSE
+++ /dev/null
@@ -1,23 +0,0 @@
-Copyright 2015-present Drifty Co.
-http://drifty.com/
-
-MIT License
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/03_source/mobile.trunk.1/README.md b/03_source/mobile.trunk.1/README.md
deleted file mode 100644
index 7a24529..0000000
--- a/03_source/mobile.trunk.1/README.md
+++ /dev/null
@@ -1,71 +0,0 @@
-# Ionic React Conference App
-
-[](https://ionicframework.com)
-[](https://reactjs.org)
-[](LICENSE)
-
-
-This is a **kitchen-sink demo application** built with **Ionic Framework** and **React**. It showcases a wide range of Ionic components and features in the context of a fictional tech conference app.
-
-**Note**: There is no actual Ionic Conference. This project is purely for demonstration purposes.
-
-👉 [Try the Live Demo](https://ionic-react-conference-app-git-main-ionic1.vercel.app/tutorial)
-
-## 🧱 Framework Variants
-
-This app is also available in other frameworks:
-
-- 🔗 [Ionic Angular Conference App](https://github.com/ionic-team/ionic-conference-app)
-- 🔗 [Ionic Vue Conference App](https://github.com/ionic-team/ionic-vue-conference-app)
-- ✅ **You're viewing the React version**
-
-## ✨ Features
-
-- Browse conference schedule with filtering
-- View speaker bios and session details
-- User authentication and profile management
-- Interactive maps for venue navigation
-- Push notifications support
-- Dark/Light mode toggling
-- Cross-platform support: iOS, Android, and Web
-
-## ⚙️ Getting Started
-
-### Prerequisites
-
-- Node.js (LTS version recommended) → [Download](https://nodejs.org/)
-- npm (included with Node.js)
-- Ionic CLI → Install globally:
- ```bash
- npm install -g ionic
- ```
-
-### Installation
-1. Clone the repository:
- ```bash
- git clone https://github.com/ionic-team/ionic-react-conference-app.git
- ```
-2. Navigate into the project:
- ```bash
- cd ionic-react-conference-app
- ```
-3. Install dependencies:
- ```bash
- npm install
- ```
-4. Start the dev server:
- ```bash
- ionic serve
- ```
-5. Open your browser to:
- ```
- http://localhost:3000
- ```
-
-## 🤝 Contributing
-
-We welcome contributions! Please see our [Contributing Guide](.github/CONTRIBUTING.md) for details on how to submit pull requests, report issues, and contribute to the project.
-
-## 📄 License
-
-This project is licensed under the MIT [License](./LICENSE).
diff --git a/03_source/mobile.trunk.1/android/.gitignore b/03_source/mobile.trunk.1/android/.gitignore
deleted file mode 100644
index 48354a3..0000000
--- a/03_source/mobile.trunk.1/android/.gitignore
+++ /dev/null
@@ -1,101 +0,0 @@
-# Using Android gitignore template: https://github.com/github/gitignore/blob/HEAD/Android.gitignore
-
-# Built application files
-*.apk
-*.aar
-*.ap_
-*.aab
-
-# Files for the ART/Dalvik VM
-*.dex
-
-# Java class files
-*.class
-
-# Generated files
-bin/
-gen/
-out/
-# Uncomment the following line in case you need and you don't have the release build type files in your app
-# release/
-
-# Gradle files
-.gradle/
-build/
-
-# Local configuration file (sdk path, etc)
-local.properties
-
-# Proguard folder generated by Eclipse
-proguard/
-
-# Log Files
-*.log
-
-# Android Studio Navigation editor temp files
-.navigation/
-
-# Android Studio captures folder
-captures/
-
-# IntelliJ
-*.iml
-.idea/workspace.xml
-.idea/tasks.xml
-.idea/gradle.xml
-.idea/assetWizardSettings.xml
-.idea/dictionaries
-.idea/libraries
-# Android Studio 3 in .gitignore file.
-.idea/caches
-.idea/modules.xml
-# Comment next line if keeping position of elements in Navigation Editor is relevant for you
-.idea/navEditor.xml
-
-# Keystore files
-# Uncomment the following lines if you do not want to check your keystore files in.
-#*.jks
-#*.keystore
-
-# External native build folder generated in Android Studio 2.2 and later
-.externalNativeBuild
-.cxx/
-
-# Google Services (e.g. APIs or Firebase)
-# google-services.json
-
-# Freeline
-freeline.py
-freeline/
-freeline_project_description.json
-
-# fastlane
-fastlane/report.xml
-fastlane/Preview.html
-fastlane/screenshots
-fastlane/test_output
-fastlane/readme.md
-
-# Version control
-vcs.xml
-
-# lint
-lint/intermediates/
-lint/generated/
-lint/outputs/
-lint/tmp/
-# lint/reports/
-
-# Android Profiling
-*.hprof
-
-# Cordova plugins for Capacitor
-capacitor-cordova-android-plugins
-
-# Copied web assets
-app/src/main/assets/public
-
-# Generated Config files
-app/src/main/assets/capacitor.config.json
-app/src/main/assets/capacitor.plugins.json
-app/src/main/res/xml/config.xml
diff --git a/03_source/mobile.trunk.1/android/app/.gitignore b/03_source/mobile.trunk.1/android/app/.gitignore
deleted file mode 100644
index 043df80..0000000
--- a/03_source/mobile.trunk.1/android/app/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/build/*
-!/build/.npmkeep
diff --git a/03_source/mobile.trunk.1/android/app/build.gradle b/03_source/mobile.trunk.1/android/app/build.gradle
deleted file mode 100644
index 6011e85..0000000
--- a/03_source/mobile.trunk.1/android/app/build.gradle
+++ /dev/null
@@ -1,54 +0,0 @@
-apply plugin: 'com.android.application'
-
-android {
- namespace "io.ionic.starter"
- compileSdk rootProject.ext.compileSdkVersion
- defaultConfig {
- applicationId "io.ionic.starter"
- minSdkVersion rootProject.ext.minSdkVersion
- targetSdkVersion rootProject.ext.targetSdkVersion
- versionCode 1
- versionName "1.0"
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- aaptOptions {
- // Files and dirs to omit from the packaged assets dir, modified to accommodate modern web apps.
- // Default: https://android.googlesource.com/platform/frameworks/base/+/282e181b58cf72b6ca770dc7ca5f91f135444502/tools/aapt/AaptAssets.cpp#61
- ignoreAssetsPattern '!.svn:!.git:!.ds_store:!*.scc:.*:!CVS:!thumbs.db:!picasa.ini:!*~'
- }
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
-}
-
-repositories {
- flatDir{
- dirs '../capacitor-cordova-android-plugins/src/main/libs', 'libs'
- }
-}
-
-dependencies {
- implementation fileTree(include: ['*.jar'], dir: 'libs')
- implementation "androidx.appcompat:appcompat:$androidxAppCompatVersion"
- implementation "androidx.coordinatorlayout:coordinatorlayout:$androidxCoordinatorLayoutVersion"
- implementation "androidx.core:core-splashscreen:$coreSplashScreenVersion"
- implementation project(':capacitor-android')
- testImplementation "junit:junit:$junitVersion"
- androidTestImplementation "androidx.test.ext:junit:$androidxJunitVersion"
- androidTestImplementation "androidx.test.espresso:espresso-core:$androidxEspressoCoreVersion"
- implementation project(':capacitor-cordova-android-plugins')
-}
-
-apply from: 'capacitor.build.gradle'
-
-try {
- def servicesJSON = file('google-services.json')
- if (servicesJSON.text) {
- apply plugin: 'com.google.gms.google-services'
- }
-} catch(Exception e) {
- logger.info("google-services.json not found, google-services plugin not applied. Push Notifications won't work")
-}
diff --git a/03_source/mobile.trunk.1/android/app/capacitor.build.gradle b/03_source/mobile.trunk.1/android/app/capacitor.build.gradle
deleted file mode 100644
index ca48bc2..0000000
--- a/03_source/mobile.trunk.1/android/app/capacitor.build.gradle
+++ /dev/null
@@ -1,24 +0,0 @@
-// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN
-
-android {
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_21
- targetCompatibility JavaVersion.VERSION_21
- }
-}
-
-apply from: "../capacitor-cordova-android-plugins/cordova.variables.gradle"
-dependencies {
- implementation project(':capacitor-barcode-scanner')
- implementation project(':capacitor-clipboard')
- implementation project(':capacitor-geolocation')
- implementation project(':capacitor-google-maps')
- implementation project(':capacitor-preferences')
- implementation project(':capacitor-share')
-
-}
-
-
-if (hasProperty('postBuildExtras')) {
- postBuildExtras()
-}
diff --git a/03_source/mobile.trunk.1/android/app/proguard-rules.pro b/03_source/mobile.trunk.1/android/app/proguard-rules.pro
deleted file mode 100644
index f1b4245..0000000
--- a/03_source/mobile.trunk.1/android/app/proguard-rules.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-# Add project specific ProGuard rules here.
-# You can control the set of applied configuration files using the
-# proguardFiles setting in build.gradle.
-#
-# For more details, see
-# http://developer.android.com/guide/developing/tools/proguard.html
-
-# If your project uses WebView with JS, uncomment the following
-# and specify the fully qualified class name to the JavaScript interface
-# class:
-#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
-# public *;
-#}
-
-# Uncomment this to preserve the line number information for
-# debugging stack traces.
-#-keepattributes SourceFile,LineNumberTable
-
-# If you keep the line number information, uncomment this to
-# hide the original source file name.
-#-renamesourcefileattribute SourceFile
diff --git a/03_source/mobile.trunk.1/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java b/03_source/mobile.trunk.1/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java
deleted file mode 100644
index f2c2217..0000000
--- a/03_source/mobile.trunk.1/android/app/src/androidTest/java/com/getcapacitor/myapp/ExampleInstrumentedTest.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package com.getcapacitor.myapp;
-
-import static org.junit.Assert.*;
-
-import android.content.Context;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-import androidx.test.platform.app.InstrumentationRegistry;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-/**
- * Instrumented test, which will execute on an Android device.
- *
- * @see Testing documentation
- */
-@RunWith(AndroidJUnit4.class)
-public class ExampleInstrumentedTest {
-
- @Test
- public void useAppContext() throws Exception {
- // Context of the app under test.
- Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
-
- assertEquals("com.getcapacitor.app", appContext.getPackageName());
- }
-}
diff --git a/03_source/mobile.trunk.1/android/app/src/main/AndroidManifest.xml b/03_source/mobile.trunk.1/android/app/src/main/AndroidManifest.xml
deleted file mode 100644
index 340e7df..0000000
--- a/03_source/mobile.trunk.1/android/app/src/main/AndroidManifest.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/03_source/mobile.trunk.1/android/app/src/main/java/io/ionic/starter/MainActivity.java b/03_source/mobile.trunk.1/android/app/src/main/java/io/ionic/starter/MainActivity.java
deleted file mode 100644
index 73e3a98..0000000
--- a/03_source/mobile.trunk.1/android/app/src/main/java/io/ionic/starter/MainActivity.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package io.ionic.starter;
-
-import com.getcapacitor.BridgeActivity;
-
-public class MainActivity extends BridgeActivity {}
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-hdpi/splash.png b/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-hdpi/splash.png
deleted file mode 100644
index 90e8400..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-hdpi/splash.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-mdpi/splash.png b/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-mdpi/splash.png
deleted file mode 100644
index 990610d..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-mdpi/splash.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-xhdpi/splash.png b/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-xhdpi/splash.png
deleted file mode 100644
index 3c67e01..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-xhdpi/splash.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-xxhdpi/splash.png b/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-xxhdpi/splash.png
deleted file mode 100644
index cff9eef..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-xxhdpi/splash.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-xxxhdpi/splash.png b/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-xxxhdpi/splash.png
deleted file mode 100644
index cd4b88d..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-land-xxxhdpi/splash.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-hdpi/splash.png b/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-hdpi/splash.png
deleted file mode 100644
index fdd3184..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-hdpi/splash.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-mdpi/splash.png b/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-mdpi/splash.png
deleted file mode 100644
index 7dcce56..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-mdpi/splash.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-xhdpi/splash.png b/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-xhdpi/splash.png
deleted file mode 100644
index bcd0278..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-xhdpi/splash.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-xxhdpi/splash.png b/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-xxhdpi/splash.png
deleted file mode 100644
index 9048412..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-xxhdpi/splash.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-xxxhdpi/splash.png b/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-xxxhdpi/splash.png
deleted file mode 100644
index a15aaa1..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-port-xxxhdpi/splash.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/03_source/mobile.trunk.1/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
deleted file mode 100644
index c7bd21d..0000000
--- a/03_source/mobile.trunk.1/android/app/src/main/res/drawable-v24/ic_launcher_foreground.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable/ic_launcher_background.xml b/03_source/mobile.trunk.1/android/app/src/main/res/drawable/ic_launcher_background.xml
deleted file mode 100644
index d5fccc5..0000000
--- a/03_source/mobile.trunk.1/android/app/src/main/res/drawable/ic_launcher_background.xml
+++ /dev/null
@@ -1,170 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/drawable/splash.png b/03_source/mobile.trunk.1/android/app/src/main/res/drawable/splash.png
deleted file mode 100644
index 990610d..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/drawable/splash.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/layout/activity_main.xml b/03_source/mobile.trunk.1/android/app/src/main/res/layout/activity_main.xml
deleted file mode 100644
index b5ad138..0000000
--- a/03_source/mobile.trunk.1/android/app/src/main/res/layout/activity_main.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
deleted file mode 100644
index 036d09b..0000000
--- a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
deleted file mode 100644
index 036d09b..0000000
--- a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
deleted file mode 100644
index d8c727b..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-hdpi/ic_launcher.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
deleted file mode 100644
index 2127973..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
deleted file mode 100644
index d8c727b..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
deleted file mode 100644
index 3b955cd..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-mdpi/ic_launcher.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
deleted file mode 100644
index 8ed0605..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
deleted file mode 100644
index 3b955cd..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
deleted file mode 100644
index a080869..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
deleted file mode 100644
index df0f158..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
deleted file mode 100644
index a080869..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
deleted file mode 100644
index 3c46f09..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
deleted file mode 100644
index 2960cbb..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
deleted file mode 100644
index 3c46f09..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
deleted file mode 100644
index 2a94e06..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
deleted file mode 100644
index d2ea9ab..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
deleted file mode 100644
index 2a94e06..0000000
Binary files a/03_source/mobile.trunk.1/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/values/ic_launcher_background.xml b/03_source/mobile.trunk.1/android/app/src/main/res/values/ic_launcher_background.xml
deleted file mode 100644
index c5d5899..0000000
--- a/03_source/mobile.trunk.1/android/app/src/main/res/values/ic_launcher_background.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
- #FFFFFF
-
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/values/strings.xml b/03_source/mobile.trunk.1/android/app/src/main/res/values/strings.xml
deleted file mode 100644
index a15be2e..0000000
--- a/03_source/mobile.trunk.1/android/app/src/main/res/values/strings.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
- ionic-react-conference-app
- ionic-react-conference-app
- io.ionic.starter
- io.ionic.starter
-
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/values/styles.xml b/03_source/mobile.trunk.1/android/app/src/main/res/values/styles.xml
deleted file mode 100644
index be874e5..0000000
--- a/03_source/mobile.trunk.1/android/app/src/main/res/values/styles.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/android/app/src/main/res/xml/file_paths.xml b/03_source/mobile.trunk.1/android/app/src/main/res/xml/file_paths.xml
deleted file mode 100644
index bd0c4d8..0000000
--- a/03_source/mobile.trunk.1/android/app/src/main/res/xml/file_paths.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java b/03_source/mobile.trunk.1/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java
deleted file mode 100644
index 0297327..0000000
--- a/03_source/mobile.trunk.1/android/app/src/test/java/com/getcapacitor/myapp/ExampleUnitTest.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.getcapacitor.myapp;
-
-import static org.junit.Assert.*;
-
-import org.junit.Test;
-
-/**
- * Example local unit test, which will execute on the development machine (host).
- *
- * @see Testing documentation
- */
-public class ExampleUnitTest {
-
- @Test
- public void addition_isCorrect() throws Exception {
- assertEquals(4, 2 + 2);
- }
-}
diff --git a/03_source/mobile.trunk.1/android/build.gradle b/03_source/mobile.trunk.1/android/build.gradle
deleted file mode 100644
index f1b3b0e..0000000
--- a/03_source/mobile.trunk.1/android/build.gradle
+++ /dev/null
@@ -1,29 +0,0 @@
-// Top-level build file where you can add configuration options common to all sub-projects/modules.
-
-buildscript {
-
- repositories {
- google()
- mavenCentral()
- }
- dependencies {
- classpath 'com.android.tools.build:gradle:8.7.2'
- classpath 'com.google.gms:google-services:4.4.2'
-
- // NOTE: Do not place your application dependencies here; they belong
- // in the individual module build.gradle files
- }
-}
-
-apply from: "variables.gradle"
-
-allprojects {
- repositories {
- google()
- mavenCentral()
- }
-}
-
-task clean(type: Delete) {
- delete rootProject.buildDir
-}
diff --git a/03_source/mobile.trunk.1/android/capacitor.settings.gradle b/03_source/mobile.trunk.1/android/capacitor.settings.gradle
deleted file mode 100644
index 4d859e4..0000000
--- a/03_source/mobile.trunk.1/android/capacitor.settings.gradle
+++ /dev/null
@@ -1,21 +0,0 @@
-// DO NOT EDIT THIS FILE! IT IS GENERATED EACH TIME "capacitor update" IS RUN
-include ':capacitor-android'
-project(':capacitor-android').projectDir = new File('../node_modules/@capacitor/android/capacitor')
-
-include ':capacitor-barcode-scanner'
-project(':capacitor-barcode-scanner').projectDir = new File('../node_modules/@capacitor/barcode-scanner/android')
-
-include ':capacitor-clipboard'
-project(':capacitor-clipboard').projectDir = new File('../node_modules/@capacitor/clipboard/android')
-
-include ':capacitor-geolocation'
-project(':capacitor-geolocation').projectDir = new File('../node_modules/@capacitor/geolocation/android')
-
-include ':capacitor-google-maps'
-project(':capacitor-google-maps').projectDir = new File('../node_modules/@capacitor/google-maps/android')
-
-include ':capacitor-preferences'
-project(':capacitor-preferences').projectDir = new File('../node_modules/@capacitor/preferences/android')
-
-include ':capacitor-share'
-project(':capacitor-share').projectDir = new File('../node_modules/@capacitor/share/android')
diff --git a/03_source/mobile.trunk.1/android/gradle.properties b/03_source/mobile.trunk.1/android/gradle.properties
deleted file mode 100644
index 2e87c52..0000000
--- a/03_source/mobile.trunk.1/android/gradle.properties
+++ /dev/null
@@ -1,22 +0,0 @@
-# Project-wide Gradle settings.
-
-# IDE (e.g. Android Studio) users:
-# Gradle settings configured through the IDE *will override*
-# any settings specified in this file.
-
-# For more details on how to configure your build environment visit
-# http://www.gradle.org/docs/current/userguide/build_environment.html
-
-# Specifies the JVM arguments used for the daemon process.
-# The setting is particularly useful for tweaking memory settings.
-org.gradle.jvmargs=-Xmx1536m
-
-# When configured, Gradle will run in incubating parallel mode.
-# This option should only be used with decoupled projects. More details, visit
-# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
-# org.gradle.parallel=true
-
-# AndroidX package structure to make it clearer which packages are bundled with the
-# Android operating system, and which are packaged with your app's APK
-# https://developer.android.com/topic/libraries/support-library/androidx-rn
-android.useAndroidX=true
diff --git a/03_source/mobile.trunk.1/android/gradle/wrapper/gradle-wrapper.jar b/03_source/mobile.trunk.1/android/gradle/wrapper/gradle-wrapper.jar
deleted file mode 100644
index a4b76b9..0000000
Binary files a/03_source/mobile.trunk.1/android/gradle/wrapper/gradle-wrapper.jar and /dev/null differ
diff --git a/03_source/mobile.trunk.1/android/gradle/wrapper/gradle-wrapper.properties b/03_source/mobile.trunk.1/android/gradle/wrapper/gradle-wrapper.properties
deleted file mode 100644
index c1d5e01..0000000
--- a/03_source/mobile.trunk.1/android/gradle/wrapper/gradle-wrapper.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-all.zip
-networkTimeout=10000
-validateDistributionUrl=true
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
diff --git a/03_source/mobile.trunk.1/android/gradlew b/03_source/mobile.trunk.1/android/gradlew
deleted file mode 100755
index f5feea6..0000000
--- a/03_source/mobile.trunk.1/android/gradlew
+++ /dev/null
@@ -1,252 +0,0 @@
-#!/bin/sh
-
-#
-# Copyright © 2015-2021 the original authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-# SPDX-License-Identifier: Apache-2.0
-#
-
-##############################################################################
-#
-# Gradle start up script for POSIX generated by Gradle.
-#
-# Important for running:
-#
-# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is
-# noncompliant, but you have some other compliant shell such as ksh or
-# bash, then to run this script, type that shell name before the whole
-# command line, like:
-#
-# ksh Gradle
-#
-# Busybox and similar reduced shells will NOT work, because this script
-# requires all of these POSIX shell features:
-# * functions;
-# * expansions «$var», «${var}», «${var:-default}», «${var+SET}»,
-# «${var#prefix}», «${var%suffix}», and «$( cmd )»;
-# * compound commands having a testable exit status, especially «case»;
-# * various built-in commands including «command», «set», and «ulimit».
-#
-# Important for patching:
-#
-# (2) This script targets any POSIX shell, so it avoids extensions provided
-# by Bash, Ksh, etc; in particular arrays are avoided.
-#
-# The "traditional" practice of packing multiple parameters into a
-# space-separated string is a well documented source of bugs and security
-# problems, so this is (mostly) avoided, by progressively accumulating
-# options in "$@", and eventually passing that to Java.
-#
-# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS,
-# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly;
-# see the in-line comments for details.
-#
-# There are tweaks for specific operating systems such as AIX, CygWin,
-# Darwin, MinGW, and NonStop.
-#
-# (3) This script is generated from the Groovy template
-# https://github.com/gradle/gradle/blob/HEAD/platforms/jvm/plugins-application/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
-# within the Gradle project.
-#
-# You can find Gradle at https://github.com/gradle/gradle/.
-#
-##############################################################################
-
-# Attempt to set APP_HOME
-
-# Resolve links: $0 may be a link
-app_path=$0
-
-# Need this for daisy-chained symlinks.
-while
- APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path
- [ -h "$app_path" ]
-do
- ls=$( ls -ld "$app_path" )
- link=${ls#*' -> '}
- case $link in #(
- /*) app_path=$link ;; #(
- *) app_path=$APP_HOME$link ;;
- esac
-done
-
-# This is normally unused
-# shellcheck disable=SC2034
-APP_BASE_NAME=${0##*/}
-# Discard cd standard output in case $CDPATH is set (https://github.com/gradle/gradle/issues/25036)
-APP_HOME=$( cd -P "${APP_HOME:-./}" > /dev/null && printf '%s
-' "$PWD" ) || exit
-
-# Use the maximum available, or set MAX_FD != -1 to use that value.
-MAX_FD=maximum
-
-warn () {
- echo "$*"
-} >&2
-
-die () {
- echo
- echo "$*"
- echo
- exit 1
-} >&2
-
-# OS specific support (must be 'true' or 'false').
-cygwin=false
-msys=false
-darwin=false
-nonstop=false
-case "$( uname )" in #(
- CYGWIN* ) cygwin=true ;; #(
- Darwin* ) darwin=true ;; #(
- MSYS* | MINGW* ) msys=true ;; #(
- NONSTOP* ) nonstop=true ;;
-esac
-
-CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
-
-
-# Determine the Java command to use to start the JVM.
-if [ -n "$JAVA_HOME" ] ; then
- if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
- # IBM's JDK on AIX uses strange locations for the executables
- JAVACMD=$JAVA_HOME/jre/sh/java
- else
- JAVACMD=$JAVA_HOME/bin/java
- fi
- if [ ! -x "$JAVACMD" ] ; then
- die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-else
- JAVACMD=java
- if ! command -v java >/dev/null 2>&1
- then
- die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
-
-Please set the JAVA_HOME variable in your environment to match the
-location of your Java installation."
- fi
-fi
-
-# Increase the maximum file descriptors if we can.
-if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
- case $MAX_FD in #(
- max*)
- # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC2039,SC3045
- MAX_FD=$( ulimit -H -n ) ||
- warn "Could not query maximum file descriptor limit"
- esac
- case $MAX_FD in #(
- '' | soft) :;; #(
- *)
- # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
- # shellcheck disable=SC2039,SC3045
- ulimit -n "$MAX_FD" ||
- warn "Could not set maximum file descriptor limit to $MAX_FD"
- esac
-fi
-
-# Collect all arguments for the java command, stacking in reverse order:
-# * args from the command line
-# * the main class name
-# * -classpath
-# * -D...appname settings
-# * --module-path (only if needed)
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables.
-
-# For Cygwin or MSYS, switch paths to Windows format before running java
-if "$cygwin" || "$msys" ; then
- APP_HOME=$( cygpath --path --mixed "$APP_HOME" )
- CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" )
-
- JAVACMD=$( cygpath --unix "$JAVACMD" )
-
- # Now convert the arguments - kludge to limit ourselves to /bin/sh
- for arg do
- if
- case $arg in #(
- -*) false ;; # don't mess with options #(
- /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath
- [ -e "$t" ] ;; #(
- *) false ;;
- esac
- then
- arg=$( cygpath --path --ignore --mixed "$arg" )
- fi
- # Roll the args list around exactly as many times as the number of
- # args, so each arg winds up back in the position where it started, but
- # possibly modified.
- #
- # NB: a `for` loop captures its iteration list before it begins, so
- # changing the positional parameters here affects neither the number of
- # iterations, nor the values presented in `arg`.
- shift # remove old arg
- set -- "$@" "$arg" # push replacement arg
- done
-fi
-
-
-# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
-
-# Collect all arguments for the java command:
-# * DEFAULT_JVM_OPTS, JAVA_OPTS, JAVA_OPTS, and optsEnvironmentVar are not allowed to contain shell fragments,
-# and any embedded shellness will be escaped.
-# * For example: A user cannot expect ${Hostname} to be expanded, as it is an environment variable and will be
-# treated as '${Hostname}' itself on the command line.
-
-set -- \
- "-Dorg.gradle.appname=$APP_BASE_NAME" \
- -classpath "$CLASSPATH" \
- org.gradle.wrapper.GradleWrapperMain \
- "$@"
-
-# Stop when "xargs" is not available.
-if ! command -v xargs >/dev/null 2>&1
-then
- die "xargs is not available"
-fi
-
-# Use "xargs" to parse quoted args.
-#
-# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
-#
-# In Bash we could simply go:
-#
-# readarray ARGS < <( xargs -n1 <<<"$var" ) &&
-# set -- "${ARGS[@]}" "$@"
-#
-# but POSIX shell has neither arrays nor command substitution, so instead we
-# post-process each arg (as a line of input to sed) to backslash-escape any
-# character that might be a shell metacharacter, then use eval to reverse
-# that process (while maintaining the separation between arguments), and wrap
-# the whole thing up as a single "set" statement.
-#
-# This will of course break if any of these variables contains a newline or
-# an unmatched quote.
-#
-
-eval "set -- $(
- printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
- xargs -n1 |
- sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' |
- tr '\n' ' '
- )" '"$@"'
-
-exec "$JAVACMD" "$@"
diff --git a/03_source/mobile.trunk.1/android/gradlew.bat b/03_source/mobile.trunk.1/android/gradlew.bat
deleted file mode 100644
index 9b42019..0000000
--- a/03_source/mobile.trunk.1/android/gradlew.bat
+++ /dev/null
@@ -1,94 +0,0 @@
-@rem
-@rem Copyright 2015 the original author or authors.
-@rem
-@rem Licensed under the Apache License, Version 2.0 (the "License");
-@rem you may not use this file except in compliance with the License.
-@rem You may obtain a copy of the License at
-@rem
-@rem https://www.apache.org/licenses/LICENSE-2.0
-@rem
-@rem Unless required by applicable law or agreed to in writing, software
-@rem distributed under the License is distributed on an "AS IS" BASIS,
-@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-@rem See the License for the specific language governing permissions and
-@rem limitations under the License.
-@rem
-@rem SPDX-License-Identifier: Apache-2.0
-@rem
-
-@if "%DEBUG%"=="" @echo off
-@rem ##########################################################################
-@rem
-@rem Gradle startup script for Windows
-@rem
-@rem ##########################################################################
-
-@rem Set local scope for the variables with windows NT shell
-if "%OS%"=="Windows_NT" setlocal
-
-set DIRNAME=%~dp0
-if "%DIRNAME%"=="" set DIRNAME=.
-@rem This is normally unused
-set APP_BASE_NAME=%~n0
-set APP_HOME=%DIRNAME%
-
-@rem Resolve any "." and ".." in APP_HOME to make it shorter.
-for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi
-
-@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
-set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m"
-
-@rem Find java.exe
-if defined JAVA_HOME goto findJavaFromJavaHome
-
-set JAVA_EXE=java.exe
-%JAVA_EXE% -version >NUL 2>&1
-if %ERRORLEVEL% equ 0 goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:findJavaFromJavaHome
-set JAVA_HOME=%JAVA_HOME:"=%
-set JAVA_EXE=%JAVA_HOME%/bin/java.exe
-
-if exist "%JAVA_EXE%" goto execute
-
-echo. 1>&2
-echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
-echo. 1>&2
-echo Please set the JAVA_HOME variable in your environment to match the 1>&2
-echo location of your Java installation. 1>&2
-
-goto fail
-
-:execute
-@rem Setup the command line
-
-set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
-
-
-@rem Execute Gradle
-"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %*
-
-:end
-@rem End local scope for the variables with windows NT shell
-if %ERRORLEVEL% equ 0 goto mainEnd
-
-:fail
-rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
-rem the _cmd.exe /c_ return code!
-set EXIT_CODE=%ERRORLEVEL%
-if %EXIT_CODE% equ 0 set EXIT_CODE=1
-if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
-exit /b %EXIT_CODE%
-
-:mainEnd
-if "%OS%"=="Windows_NT" endlocal
-
-:omega
diff --git a/03_source/mobile.trunk.1/android/settings.gradle b/03_source/mobile.trunk.1/android/settings.gradle
deleted file mode 100644
index 3b4431d..0000000
--- a/03_source/mobile.trunk.1/android/settings.gradle
+++ /dev/null
@@ -1,5 +0,0 @@
-include ':app'
-include ':capacitor-cordova-android-plugins'
-project(':capacitor-cordova-android-plugins').projectDir = new File('./capacitor-cordova-android-plugins/')
-
-apply from: 'capacitor.settings.gradle'
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/android/variables.gradle b/03_source/mobile.trunk.1/android/variables.gradle
deleted file mode 100644
index 2c8e408..0000000
--- a/03_source/mobile.trunk.1/android/variables.gradle
+++ /dev/null
@@ -1,16 +0,0 @@
-ext {
- minSdkVersion = 23
- compileSdkVersion = 35
- targetSdkVersion = 35
- androidxActivityVersion = '1.9.2'
- androidxAppCompatVersion = '1.7.0'
- androidxCoordinatorLayoutVersion = '1.2.0'
- androidxCoreVersion = '1.15.0'
- androidxFragmentVersion = '1.8.4'
- coreSplashScreenVersion = '1.0.1'
- androidxWebkitVersion = '1.12.1'
- junitVersion = '4.13.2'
- androidxJunitVersion = '1.2.1'
- androidxEspressoCoreVersion = '3.6.1'
- cordovaAndroidVersion = '10.1.1'
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/build.sh b/03_source/mobile.trunk.1/build.sh
deleted file mode 100755
index f976783..0000000
--- a/03_source/mobile.trunk.1/build.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env bash
-
-set -ex
-
-# npm i -D
-
-rm -rf **/*Zone.Identifier
-
-# npm run format
-
-# npm run build
-
-# git add .
-# git commit -m"build ok,"
-
-echo "done"
diff --git a/03_source/mobile.trunk.1/capacitor.config.json b/03_source/mobile.trunk.1/capacitor.config.json
deleted file mode 100644
index 0f2dd5f..0000000
--- a/03_source/mobile.trunk.1/capacitor.config.json
+++ /dev/null
@@ -1,8 +0,0 @@
-{
- "appId": "io.ionic.starter",
- "appName": "ionic-react-conference-app",
- "bundledWebRuntime": false,
- "npmClient": "npm",
- "webDir": "dist",
- "cordova": {}
-}
diff --git a/03_source/mobile.trunk.1/dev.sh b/03_source/mobile.trunk.1/dev.sh
deleted file mode 100755
index ab73a35..0000000
--- a/03_source/mobile.trunk.1/dev.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env bash
-
-while true; do
- yarn -D
-
- yarn run dev
-
- echo "restarting..."
- sleep 1
-done
diff --git a/03_source/mobile.trunk.1/dockerfile b/03_source/mobile.trunk.1/dockerfile
deleted file mode 100644
index 4f0cf38..0000000
--- a/03_source/mobile.trunk.1/dockerfile
+++ /dev/null
@@ -1,15 +0,0 @@
-# Use official Node 18 base image
-FROM node:20-slim
-
-# Install pnpm globally
-# RUN npm install -g pnpm
-
-# Set working directory
-WORKDIR /app
-
-# Copy your application code (optional, comment out if not needed)
-# COPY . /app
-# RUN yarn
-
-# Default command (optional)
-CMD ["npm run start"]
diff --git a/03_source/mobile.trunk.1/firebase.json b/03_source/mobile.trunk.1/firebase.json
deleted file mode 100644
index 49a74df..0000000
--- a/03_source/mobile.trunk.1/firebase.json
+++ /dev/null
@@ -1,31 +0,0 @@
-{
- "hosting": {
- "public": "build",
- "rewrites": [
- {
- "source": "**",
- "destination": "/index.html"
- }
- ],
- "headers": [
- {
- "source": "**/static/**",
- "headers": [
- {
- "key": "Cache-Control",
- "value": "max-age=31536000"
- }
- ]
- },
- {
- "source": "**/*.@(jpg|jpeg|gif|png|svg)",
- "headers": [
- {
- "key": "Cache-Control",
- "value": "max-age=31536000"
- }
- ]
- }
- ]
- }
-}
diff --git a/03_source/mobile.trunk.1/index.html b/03_source/mobile.trunk.1/index.html
deleted file mode 100644
index 805b105..0000000
--- a/03_source/mobile.trunk.1/index.html
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- Ionic Conference App
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/03_source/mobile.trunk.1/ionic.config.json b/03_source/mobile.trunk.1/ionic.config.json
deleted file mode 100644
index f610198..0000000
--- a/03_source/mobile.trunk.1/ionic.config.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "name": "ionic-react-conference-app",
- "integrations": {
- "capacitor": {}
- },
- "type": "react"
-}
diff --git a/03_source/mobile.trunk.1/ios/.gitignore b/03_source/mobile.trunk.1/ios/.gitignore
deleted file mode 100644
index f470299..0000000
--- a/03_source/mobile.trunk.1/ios/.gitignore
+++ /dev/null
@@ -1,13 +0,0 @@
-App/build
-App/Pods
-App/output
-App/App/public
-DerivedData
-xcuserdata
-
-# Cordova plugins for Capacitor
-capacitor-cordova-ios-plugins
-
-# Generated Config files
-App/App/capacitor.config.json
-App/App/config.xml
diff --git a/03_source/mobile.trunk.1/ios/App/App.xcodeproj/project.pbxproj b/03_source/mobile.trunk.1/ios/App/App.xcodeproj/project.pbxproj
deleted file mode 100644
index d6d8154..0000000
--- a/03_source/mobile.trunk.1/ios/App/App.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,408 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 48;
- objects = {
-
-/* Begin PBXBuildFile section */
- 2FAD9763203C412B000D30F8 /* config.xml in Resources */ = {isa = PBXBuildFile; fileRef = 2FAD9762203C412B000D30F8 /* config.xml */; };
- 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */ = {isa = PBXBuildFile; fileRef = 50379B222058CBB4000EE86E /* capacitor.config.json */; };
- 504EC3081FED79650016851F /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 504EC3071FED79650016851F /* AppDelegate.swift */; };
- 504EC30D1FED79650016851F /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30B1FED79650016851F /* Main.storyboard */; };
- 504EC30F1FED79650016851F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 504EC30E1FED79650016851F /* Assets.xcassets */; };
- 504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 504EC3101FED79650016851F /* LaunchScreen.storyboard */; };
- 50B271D11FEDC1A000F3C39B /* public in Resources */ = {isa = PBXBuildFile; fileRef = 50B271D01FEDC1A000F3C39B /* public */; };
- A084ECDBA7D38E1E42DFC39D /* Pods_App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 2FAD9762203C412B000D30F8 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = config.xml; sourceTree = ""; };
- 50379B222058CBB4000EE86E /* capacitor.config.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = capacitor.config.json; sourceTree = ""; };
- 504EC3041FED79650016851F /* App.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = App.app; sourceTree = BUILT_PRODUCTS_DIR; };
- 504EC3071FED79650016851F /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
- 504EC30C1FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
- 504EC30E1FED79650016851F /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- 504EC3111FED79650016851F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
- 504EC3131FED79650016851F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 50B271D01FEDC1A000F3C39B /* public */ = {isa = PBXFileReference; lastKnownFileType = folder; path = public; sourceTree = ""; };
- AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_App.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.release.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.release.xcconfig"; sourceTree = ""; };
- FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-App.debug.xcconfig"; path = "Pods/Target Support Files/Pods-App/Pods-App.debug.xcconfig"; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- 504EC3011FED79650016851F /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- A084ECDBA7D38E1E42DFC39D /* Pods_App.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 27E2DDA53C4D2A4D1A88CE4A /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- AF277DCFFFF123FFC6DF26C7 /* Pods_App.framework */,
- );
- name = Frameworks;
- sourceTree = "";
- };
- 504EC2FB1FED79650016851F = {
- isa = PBXGroup;
- children = (
- 504EC3061FED79650016851F /* App */,
- 504EC3051FED79650016851F /* Products */,
- 7F8756D8B27F46E3366F6CEA /* Pods */,
- 27E2DDA53C4D2A4D1A88CE4A /* Frameworks */,
- );
- sourceTree = "";
- };
- 504EC3051FED79650016851F /* Products */ = {
- isa = PBXGroup;
- children = (
- 504EC3041FED79650016851F /* App.app */,
- );
- name = Products;
- sourceTree = "";
- };
- 504EC3061FED79650016851F /* App */ = {
- isa = PBXGroup;
- children = (
- 50379B222058CBB4000EE86E /* capacitor.config.json */,
- 504EC3071FED79650016851F /* AppDelegate.swift */,
- 504EC30B1FED79650016851F /* Main.storyboard */,
- 504EC30E1FED79650016851F /* Assets.xcassets */,
- 504EC3101FED79650016851F /* LaunchScreen.storyboard */,
- 504EC3131FED79650016851F /* Info.plist */,
- 2FAD9762203C412B000D30F8 /* config.xml */,
- 50B271D01FEDC1A000F3C39B /* public */,
- );
- path = App;
- sourceTree = "";
- };
- 7F8756D8B27F46E3366F6CEA /* Pods */ = {
- isa = PBXGroup;
- children = (
- FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */,
- AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */,
- );
- name = Pods;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- 504EC3031FED79650016851F /* App */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 504EC3161FED79650016851F /* Build configuration list for PBXNativeTarget "App" */;
- buildPhases = (
- 6634F4EFEBD30273BCE97C65 /* [CP] Check Pods Manifest.lock */,
- 504EC3001FED79650016851F /* Sources */,
- 504EC3011FED79650016851F /* Frameworks */,
- 504EC3021FED79650016851F /* Resources */,
- 9592DBEFFC6D2A0C8D5DEB22 /* [CP] Embed Pods Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = App;
- productName = App;
- productReference = 504EC3041FED79650016851F /* App.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 504EC2FC1FED79650016851F /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastSwiftUpdateCheck = 0920;
- LastUpgradeCheck = 0920;
- TargetAttributes = {
- 504EC3031FED79650016851F = {
- CreatedOnToolsVersion = 9.2;
- LastSwiftMigration = 1100;
- ProvisioningStyle = Automatic;
- };
- };
- };
- buildConfigurationList = 504EC2FF1FED79650016851F /* Build configuration list for PBXProject "App" */;
- compatibilityVersion = "Xcode 8.0";
- developmentRegion = en;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = 504EC2FB1FED79650016851F;
- packageReferences = (
- );
- productRefGroup = 504EC3051FED79650016851F /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- 504EC3031FED79650016851F /* App */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- 504EC3021FED79650016851F /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 504EC3121FED79650016851F /* LaunchScreen.storyboard in Resources */,
- 50B271D11FEDC1A000F3C39B /* public in Resources */,
- 504EC30F1FED79650016851F /* Assets.xcassets in Resources */,
- 50379B232058CBB4000EE86E /* capacitor.config.json in Resources */,
- 504EC30D1FED79650016851F /* Main.storyboard in Resources */,
- 2FAD9763203C412B000D30F8 /* config.xml in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- 6634F4EFEBD30273BCE97C65 /* [CP] Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- "${PODS_PODFILE_DIR_PATH}/Podfile.lock",
- "${PODS_ROOT}/Manifest.lock",
- );
- name = "[CP] Check Pods Manifest.lock";
- outputPaths = (
- "$(DERIVED_FILE_DIR)/Pods-App-checkManifestLockResult.txt",
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
- showEnvVarsInLog = 0;
- };
- 9592DBEFFC6D2A0C8D5DEB22 /* [CP] Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "[CP] Embed Pods Frameworks";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-App/Pods-App-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- 504EC3001FED79650016851F /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 504EC3081FED79650016851F /* AppDelegate.swift in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
- 504EC30B1FED79650016851F /* Main.storyboard */ = {
- isa = PBXVariantGroup;
- children = (
- 504EC30C1FED79650016851F /* Base */,
- );
- name = Main.storyboard;
- sourceTree = "";
- };
- 504EC3101FED79650016851F /* LaunchScreen.storyboard */ = {
- isa = PBXVariantGroup;
- children = (
- 504EC3111FED79650016851F /* Base */,
- );
- name = LaunchScreen.storyboard;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- 504EC3141FED79650016851F /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGN_IDENTITY = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = dwarf;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 14.0;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- };
- name = Debug;
- };
- 504EC3151FED79650016851F /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGN_IDENTITY = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu11;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 14.0;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = iphoneos;
- SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- 504EC3171FED79650016851F /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = FC68EB0AF532CFC21C3344DD /* Pods-App.debug.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 1;
- INFOPLIST_FILE = App/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 14.0;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 1.0;
- OTHER_SWIFT_FLAGS = "$(inherited) \"-D\" \"COCOAPODS\" \"-DDEBUG\"";
- PRODUCT_BUNDLE_IDENTIFIER = io.ionic.starter;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
- SWIFT_VERSION = 5.0;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Debug;
- };
- 504EC3181FED79650016851F /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = AF51FD2D460BCFE21FA515B2 /* Pods-App.release.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- CODE_SIGN_STYLE = Automatic;
- CURRENT_PROJECT_VERSION = 1;
- INFOPLIST_FILE = App/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 14.0;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- MARKETING_VERSION = 1.0;
- PRODUCT_BUNDLE_IDENTIFIER = io.ionic.starter;
- PRODUCT_NAME = "$(TARGET_NAME)";
- SWIFT_ACTIVE_COMPILATION_CONDITIONS = "";
- SWIFT_VERSION = 5.0;
- TARGETED_DEVICE_FAMILY = "1,2";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 504EC2FF1FED79650016851F /* Build configuration list for PBXProject "App" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 504EC3141FED79650016851F /* Debug */,
- 504EC3151FED79650016851F /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 504EC3161FED79650016851F /* Build configuration list for PBXNativeTarget "App" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 504EC3171FED79650016851F /* Debug */,
- 504EC3181FED79650016851F /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 504EC2FC1FED79650016851F /* Project object */;
-}
diff --git a/03_source/mobile.trunk.1/ios/App/App.xcworkspace/contents.xcworkspacedata b/03_source/mobile.trunk.1/ios/App/App.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index b301e82..0000000
--- a/03_source/mobile.trunk.1/ios/App/App.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
diff --git a/03_source/mobile.trunk.1/ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/03_source/mobile.trunk.1/ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
deleted file mode 100644
index 18d9810..0000000
--- a/03_source/mobile.trunk.1/ios/App/App.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
- IDEDidComputeMac32BitWarning
-
-
-
diff --git a/03_source/mobile.trunk.1/ios/App/App/AppDelegate.swift b/03_source/mobile.trunk.1/ios/App/App/AppDelegate.swift
deleted file mode 100644
index c3cd83b..0000000
--- a/03_source/mobile.trunk.1/ios/App/App/AppDelegate.swift
+++ /dev/null
@@ -1,49 +0,0 @@
-import UIKit
-import Capacitor
-
-@UIApplicationMain
-class AppDelegate: UIResponder, UIApplicationDelegate {
-
- var window: UIWindow?
-
- func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
- // Override point for customization after application launch.
- return true
- }
-
- func applicationWillResignActive(_ application: UIApplication) {
- // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
- // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.
- }
-
- func applicationDidEnterBackground(_ application: UIApplication) {
- // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
- // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
- }
-
- func applicationWillEnterForeground(_ application: UIApplication) {
- // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
- }
-
- func applicationDidBecomeActive(_ application: UIApplication) {
- // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
- }
-
- func applicationWillTerminate(_ application: UIApplication) {
- // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
- }
-
- func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
- // Called when the app was launched with a url. Feel free to add additional processing here,
- // but if you want the App API to support tracking app url opens, make sure to keep this call
- return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
- }
-
- func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
- // Called when the app was launched with an activity, including Universal Links.
- // Feel free to add additional processing here, but if you want the App API to support
- // tracking app url opens, make sure to keep this call
- return ApplicationDelegateProxy.shared.application(application, continue: userActivity, restorationHandler: restorationHandler)
- }
-
-}
diff --git a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png b/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png
deleted file mode 100644
index f6a7b1f..0000000
Binary files a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/AppIcon.appiconset/AppIcon-512@2x.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json b/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 9b7d382..0000000
--- a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "images" : [
- {
- "filename" : "AppIcon-512@2x.png",
- "idiom" : "universal",
- "platform" : "ios",
- "size" : "1024x1024"
- }
- ],
- "info" : {
- "author" : "xcode",
- "version" : 1
- }
-}
diff --git a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Contents.json b/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Contents.json
deleted file mode 100644
index da4a164..0000000
--- a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json b/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json
deleted file mode 100644
index d7d96a6..0000000
--- a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/Contents.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "images" : [
- {
- "idiom" : "universal",
- "filename" : "splash-2732x2732-2.png",
- "scale" : "1x"
- },
- {
- "idiom" : "universal",
- "filename" : "splash-2732x2732-1.png",
- "scale" : "2x"
- },
- {
- "idiom" : "universal",
- "filename" : "splash-2732x2732.png",
- "scale" : "3x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png b/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png
deleted file mode 100644
index 009110e..0000000
Binary files a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-1.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png b/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png
deleted file mode 100644
index 009110e..0000000
Binary files a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732-2.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png b/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png
deleted file mode 100644
index 009110e..0000000
Binary files a/03_source/mobile.trunk.1/ios/App/App/Assets.xcassets/Splash.imageset/splash-2732x2732.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/ios/App/App/Base.lproj/LaunchScreen.storyboard b/03_source/mobile.trunk.1/ios/App/App/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644
index e7ae5d7..0000000
--- a/03_source/mobile.trunk.1/ios/App/App/Base.lproj/LaunchScreen.storyboard
+++ /dev/null
@@ -1,32 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/03_source/mobile.trunk.1/ios/App/App/Base.lproj/Main.storyboard b/03_source/mobile.trunk.1/ios/App/App/Base.lproj/Main.storyboard
deleted file mode 100644
index b44df7b..0000000
--- a/03_source/mobile.trunk.1/ios/App/App/Base.lproj/Main.storyboard
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/03_source/mobile.trunk.1/ios/App/App/Info.plist b/03_source/mobile.trunk.1/ios/App/App/Info.plist
deleted file mode 100644
index 70a2849..0000000
--- a/03_source/mobile.trunk.1/ios/App/App/Info.plist
+++ /dev/null
@@ -1,49 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleDisplayName
- ionic-react-conference-app
- CFBundleExecutable
- $(EXECUTABLE_NAME)
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- $(PRODUCT_NAME)
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- $(MARKETING_VERSION)
- CFBundleVersion
- $(CURRENT_PROJECT_VERSION)
- LSRequiresIPhoneOS
-
- UILaunchStoryboardName
- LaunchScreen
- UIMainStoryboardFile
- Main
- UIRequiredDeviceCapabilities
-
- armv7
-
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UISupportedInterfaceOrientations~ipad
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationPortraitUpsideDown
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
- UIViewControllerBasedStatusBarAppearance
-
-
-
diff --git a/03_source/mobile.trunk.1/ios/App/Podfile b/03_source/mobile.trunk.1/ios/App/Podfile
deleted file mode 100644
index d7565c9..0000000
--- a/03_source/mobile.trunk.1/ios/App/Podfile
+++ /dev/null
@@ -1,29 +0,0 @@
-require_relative '../../node_modules/@capacitor/ios/scripts/pods_helpers'
-
-platform :ios, '14.0'
-use_frameworks!
-
-# workaround to avoid Xcode caching of Pods that requires
-# Product -> Clean Build Folder after new Cordova plugins installed
-# Requires CocoaPods 1.6 or newer
-install! 'cocoapods', :disable_input_output_paths => true
-
-def capacitor_pods
- pod 'Capacitor', :path => '../../node_modules/@capacitor/ios'
- pod 'CapacitorCordova', :path => '../../node_modules/@capacitor/ios'
- pod 'CapacitorBarcodeScanner', :path => '../../node_modules/@capacitor/barcode-scanner'
- pod 'CapacitorClipboard', :path => '../../node_modules/@capacitor/clipboard'
- pod 'CapacitorGeolocation', :path => '../../node_modules/@capacitor/geolocation'
- pod 'CapacitorGoogleMaps', :path => '../../node_modules/@capacitor/google-maps'
- pod 'CapacitorPreferences', :path => '../../node_modules/@capacitor/preferences'
- pod 'CapacitorShare', :path => '../../node_modules/@capacitor/share'
-end
-
-target 'App' do
- capacitor_pods
- # Add your Pods here
-end
-
-post_install do |installer|
- assertDeploymentTarget(installer)
-end
diff --git a/03_source/mobile.trunk.1/ios/App/Podfile.lock b/03_source/mobile.trunk.1/ios/App/Podfile.lock
deleted file mode 100644
index 29efe53..0000000
--- a/03_source/mobile.trunk.1/ios/App/Podfile.lock
+++ /dev/null
@@ -1,28 +0,0 @@
-PODS:
- - Capacitor (7.0.1):
- - CapacitorCordova
- - CapacitorCordova (7.0.1)
- - CapacitorPreferences (7.0.0):
- - Capacitor
-
-DEPENDENCIES:
- - "Capacitor (from `../../node_modules/@capacitor/ios`)"
- - "CapacitorCordova (from `../../node_modules/@capacitor/ios`)"
- - "CapacitorPreferences (from `../../node_modules/@capacitor/preferences`)"
-
-EXTERNAL SOURCES:
- Capacitor:
- :path: "../../node_modules/@capacitor/ios"
- CapacitorCordova:
- :path: "../../node_modules/@capacitor/ios"
- CapacitorPreferences:
- :path: "../../node_modules/@capacitor/preferences"
-
-SPEC CHECKSUMS:
- Capacitor: de199cba6c8b20995428ad0b7cb0bc6ca625ffd4
- CapacitorCordova: 63d476958d5022d76f197031e8b7ea3519988c64
- CapacitorPreferences: 8e4bef1f937fc991a19d7ea99330c36a62edd24b
-
-PODFILE CHECKSUM: bc4412675d30bc194ab5961211929e1e7de79579
-
-COCOAPODS: 1.16.2
diff --git a/03_source/mobile.trunk.1/package.json b/03_source/mobile.trunk.1/package.json
deleted file mode 100644
index fd2dd7b..0000000
--- a/03_source/mobile.trunk.1/package.json
+++ /dev/null
@@ -1,93 +0,0 @@
-{
- "name": "ionic-react-conference-app",
- "version": "0.0.0",
- "description": "Ionic Conference App",
- "author": "Ionic Team ",
- "license": "MIT",
- "private": true,
- "dependencies": {
- "@capacitor/android": "7.0.1",
- "@capacitor/barcode-scanner": "^2.0.3",
- "@capacitor/clipboard": "^7.0.1",
- "@capacitor/core": "^7.0.0",
- "@capacitor/geolocation": "^7.1.2",
- "@capacitor/google-maps": "^7.0.2",
- "@capacitor/ios": "7.0.1",
- "@capacitor/preferences": "^7.0.0",
- "@capacitor/share": "^7.0.1",
- "@hookform/resolvers": "^4.1.3",
- "@ionic/react": "^8.5.0",
- "@ionic/react-router": "^8.5.0",
- "@ionic/storage": "^4.0.0",
- "@mdx-js/react": "^3.1.0",
- "@react-hook/window-size": "^3.1.1",
- "@types/leaflet": "^1.9.17",
- "@types/react-redux": "^7.1.34",
- "axios": "^1.9.0",
- "date-fns": "^2.25.0",
- "ionicons": "^7.1.2",
- "leaflet": "^1.9.4",
- "pigeon-maps": "^0.22.1",
- "pullstate": "^1",
- "react": "19.0.0",
- "react-canvas-draw": "^1.2.1",
- "react-color": "^2.19.3",
- "react-confetti": "^6.4.0",
- "react-dom": "19.0.0",
- "react-hook-form": "^7.55.0",
- "react-iconly": "^2.2.10",
- "react-leaflet": "^5.0.0",
- "react-markdown": "^10.1.0",
- "react-qr-code": "^2.0.15",
- "react-qr-reader": "^3.0.0-beta-1",
- "react-redux": "^9.2.0",
- "react-router": "^5.3.4",
- "react-router-dom": "^5.3.4",
- "react-spinners": "^0.17.0",
- "react-use": "^17.6.0",
- "reselect": "^4.0.0",
- "sass": "^1.85.1",
- "swiper": "^11.2.8",
- "use-sound": "^5.0.0",
- "zod": "^3.24.2"
- },
- "scripts": {
- "start": "npm run dev",
- "dev": "vite --force --host 0.0.0.0 --cors",
- "ionic:serve": "vite",
- "ionic:build": "tsc && vite build",
- "build": "tsc && vite build",
- "preview": "vite preview",
- "format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,md}\"",
- "precommit": "npm run format && lint-staged"
- },
- "eslintConfig": {
- "extends": "react-app"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ],
- "devDependencies": {
- "@capacitor/cli": "^7.0.0",
- "@testing-library/react": "^9.3.1",
- "@types/jest": "24.0.18",
- "@types/react": "19.0.10",
- "@types/react-dom": "19.0.4",
- "@types/react-router": "^5.1.20",
- "@types/react-router-dom": "^5.3.3",
- "@vitejs/plugin-react": "^4.3.4",
- "lint-staged": "^13.2.0",
- "prettier": "^3.5.3",
- "typescript": "^5.8.2",
- "vite": "^6.2.0"
- },
- "lint-staged": {
- "src/**/*.{js,jsx,ts,tsx,json,md}": [
- "prettier --write",
- "git add"
- ]
- }
-}
diff --git a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/alan.jpg b/03_source/mobile.trunk.1/public/assets/DemoBankingUi/alan.jpg
deleted file mode 100644
index 98093f9..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/alan.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/chip.png b/03_source/mobile.trunk.1/public/assets/DemoBankingUi/chip.png
deleted file mode 100644
index 7861be2..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/chip.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/DemoBankingUi/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/icon/icon.png b/03_source/mobile.trunk.1/public/assets/DemoBankingUi/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/mastercard.png b/03_source/mobile.trunk.1/public/assets/DemoBankingUi/mastercard.png
deleted file mode 100644
index b4f6667..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/mastercard.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/shapes.svg b/03_source/mobile.trunk.1/public/assets/DemoBankingUi/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/visa.png b/03_source/mobile.trunk.1/public/assets/DemoBankingUi/visa.png
deleted file mode 100644
index 011d6f9..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoBankingUi/visa.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoDictionaryApp/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/DemoDictionaryApp/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoDictionaryApp/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoDictionaryApp/icon/icon.png b/03_source/mobile.trunk.1/public/assets/DemoDictionaryApp/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoDictionaryApp/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoDictionaryApp/shapes.svg b/03_source/mobile.trunk.1/public/assets/DemoDictionaryApp/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoDictionaryApp/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/DemoProfileExample/.gitkeep b/03_source/mobile.trunk.1/public/assets/DemoProfileExample/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/public/assets/DemoQuizApp/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/DemoQuizApp/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoQuizApp/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoQuizApp/icon/icon.png b/03_source/mobile.trunk.1/public/assets/DemoQuizApp/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoQuizApp/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoQuizApp/main.png b/03_source/mobile.trunk.1/public/assets/DemoQuizApp/main.png
deleted file mode 100644
index 42f8f63..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoQuizApp/main.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoQuizApp/shapes.svg b/03_source/mobile.trunk.1/public/assets/DemoQuizApp/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoQuizApp/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/.gitkeep b/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/.gitkeep
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/camera.jpeg b/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/camera.jpeg
deleted file mode 100644
index d212e39..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/camera.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/icon/icon.png b/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/macbook.jpeg b/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/macbook.jpeg
deleted file mode 100644
index 19930e3..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/macbook.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/shapes.svg b/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/tv.jpeg b/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/tv.jpeg
deleted file mode 100644
index 5d1f0d0..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactAddToCart/tv.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactLogin/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/DemoReactLogin/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactLogin/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactLogin/icon/icon.png b/03_source/mobile.trunk.1/public/assets/DemoReactLogin/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactLogin/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactLogin/login2.jpeg b/03_source/mobile.trunk.1/public/assets/DemoReactLogin/login2.jpeg
deleted file mode 100644
index 366dcf8..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactLogin/login2.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactLogin/shapes.svg b/03_source/mobile.trunk.1/public/assets/DemoReactLogin/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactLogin/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/alan.jpg b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/alan.jpg
deleted file mode 100644
index 98093f9..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/alan.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/icon/icon.png b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/shapes.svg b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/blue.json b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/blue.json
deleted file mode 100644
index ec69043..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/blue.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "blue",
- "tab_bar_background_color": "blue",
- "toolbar_color": "",
- "tab_bar_color": "",
- "tab_bar_activated_color": "",
-
- "main_color": "",
- "light_color": "",
-
- "main_color_tint": "",
- "main_color_shade": "",
-
- "light_color_tint": "",
- "light_color_shade": ""
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/coffeebrown.json b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/coffeebrown.json
deleted file mode 100644
index 8d15f25..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/coffeebrown.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#5f361e",
- "tab_bar_background_color": "#5f361e",
- "toolbar_color": "#d1bfb5",
- "tab_bar_color": "#886551",
- "tab_bar_activated_color": "",
-
- "main_color": "#5f361e",
- "light_color": "#886551",
-
- "main_color_tint": "#855a41",
- "main_color_shade": "#57331e",
-
- "light_color_tint": "#9c7d6b",
- "light_color_shade": "#61412f"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/coffeebrown.png b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/coffeebrown.png
deleted file mode 100644
index 7e4df1d..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/coffeebrown.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/earthytones.png b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/earthytones.png
deleted file mode 100644
index 69de1b0..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/earthytones.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/fireyred.png b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/fireyred.png
deleted file mode 100644
index ce87056..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/fireyred.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/leafygreen.png b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/leafygreen.png
deleted file mode 100644
index 206247c..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/leafygreen.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/moodyblue.png b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/moodyblue.png
deleted file mode 100644
index 6b3aaa8..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/moodyblue.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/peelyorange.png b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/peelyorange.png
deleted file mode 100644
index a2f5685..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/covers/peelyorange.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/earthytones.json b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/earthytones.json
deleted file mode 100644
index 262c9c1..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/earthytones.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#c4b0c4",
- "tab_bar_background_color": "#c4b0c4",
- "toolbar_color": "#5c4153",
- "tab_bar_color": "#917788",
- "tab_bar_activated_color": "#5c4153",
-
- "main_color": "#5c4153",
- "light_color": "#917788",
-
- "main_color_tint": "#6b5463",
- "main_color_shade": "#4d3545",
-
- "light_color_tint": "#a893a1",
- "light_color_shade": "#74606d"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/fireyred.json b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/fireyred.json
deleted file mode 100644
index 5d5348f..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/fireyred.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#c93608",
- "tab_bar_background_color": "#c93608",
- "toolbar_color": "",
- "tab_bar_color": "#852506",
- "tab_bar_activated_color": "",
-
- "main_color": "#c93608",
- "light_color": "#c95834",
-
- "main_color_tint": "#aa614a",
- "main_color_shade": "#692611",
-
- "light_color_tint": "#d67151",
- "light_color_shade": "#a85439"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/green.json b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/green.json
deleted file mode 100644
index cb41fcf..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/green.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "green",
- "tab_bar_background_color": "green",
- "toolbar_color": "",
- "tab_bar_color": "",
- "tab_bar_activated_color": "",
-
- "main_color": "",
- "light_color": "",
-
- "main_color_tint": "",
- "main_color_shade": "",
-
- "light_color_tint": "",
- "light_color_shade": ""
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/leafygreen.json b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/leafygreen.json
deleted file mode 100644
index f3e86ce..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/leafygreen.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#336b36",
- "tab_bar_background_color": "#336b36",
- "toolbar_color": "white",
- "tab_bar_color": "#1c421d",
- "tab_bar_activated_color": "white",
-
- "main_color": "#336b36",
- "light_color": "#517953",
-
- "main_color_tint": "#497a4b",
- "main_color_shade": "#305832",
-
- "light_color_tint": "#738574",
- "light_color_shade": "#485849"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/moodyblue.json b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/moodyblue.json
deleted file mode 100644
index db1ba2f..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/moodyblue.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#7baec7",
- "tab_bar_background_color": "#7baec7",
- "toolbar_color": "",
- "tab_bar_color": "#49758b",
- "tab_bar_activated_color": "",
-
- "main_color": "#7baec7",
- "light_color": "#90bbcf",
-
- "main_color_tint": "#96c0d5",
- "main_color_shade": "#6b93a7",
-
- "light_color_tint": "#c3e2f1",
- "light_color_shade": "#89aec0"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/peelyorange.json b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/peelyorange.json
deleted file mode 100644
index f7f04f2..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/peelyorange.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#fd8f38",
- "tab_bar_background_color": "#fd8f38",
- "toolbar_color": "#815208",
- "tab_bar_color": "#ffb67c",
- "tab_bar_activated_color": "#815208",
-
- "main_color": "#e49200",
- "light_color": "#ffb67c",
-
- "main_color_tint": "#e6ae4b",
- "main_color_shade": "#b4780c",
-
- "light_color_tint": "#fad4b6",
- "light_color_shade": "#ff9c4e"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/red.json b/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/red.json
deleted file mode 100644
index be9c737..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactProfileDashboardUi/themes/red.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "red",
- "tab_bar_background_color": "red",
- "toolbar_color": "",
- "tab_bar_color": "",
- "tab_bar_activated_color": "",
-
- "main_color": "",
- "light_color": "",
-
- "main_color_tint": "",
- "main_color_shade": "",
-
- "light_color_tint": "",
- "light_color_shade": ""
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/blue.json b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/blue.json
deleted file mode 100644
index ec69043..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/blue.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "blue",
- "tab_bar_background_color": "blue",
- "toolbar_color": "",
- "tab_bar_color": "",
- "tab_bar_activated_color": "",
-
- "main_color": "",
- "light_color": "",
-
- "main_color_tint": "",
- "main_color_shade": "",
-
- "light_color_tint": "",
- "light_color_shade": ""
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/coffeebrown.json b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/coffeebrown.json
deleted file mode 100644
index 8d15f25..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/coffeebrown.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#5f361e",
- "tab_bar_background_color": "#5f361e",
- "toolbar_color": "#d1bfb5",
- "tab_bar_color": "#886551",
- "tab_bar_activated_color": "",
-
- "main_color": "#5f361e",
- "light_color": "#886551",
-
- "main_color_tint": "#855a41",
- "main_color_shade": "#57331e",
-
- "light_color_tint": "#9c7d6b",
- "light_color_shade": "#61412f"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/coffeebrown.png b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/coffeebrown.png
deleted file mode 100644
index 7e4df1d..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/coffeebrown.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/earthytones.png b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/earthytones.png
deleted file mode 100644
index 69de1b0..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/earthytones.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/fireyred.png b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/fireyred.png
deleted file mode 100644
index ce87056..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/fireyred.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/leafygreen.png b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/leafygreen.png
deleted file mode 100644
index 206247c..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/leafygreen.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/moodyblue.png b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/moodyblue.png
deleted file mode 100644
index 6b3aaa8..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/moodyblue.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/peelyorange.png b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/peelyorange.png
deleted file mode 100644
index a2f5685..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/covers/peelyorange.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/earthytones.json b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/earthytones.json
deleted file mode 100644
index 262c9c1..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/earthytones.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#c4b0c4",
- "tab_bar_background_color": "#c4b0c4",
- "toolbar_color": "#5c4153",
- "tab_bar_color": "#917788",
- "tab_bar_activated_color": "#5c4153",
-
- "main_color": "#5c4153",
- "light_color": "#917788",
-
- "main_color_tint": "#6b5463",
- "main_color_shade": "#4d3545",
-
- "light_color_tint": "#a893a1",
- "light_color_shade": "#74606d"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/fireyred.json b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/fireyred.json
deleted file mode 100644
index 5d5348f..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/fireyred.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#c93608",
- "tab_bar_background_color": "#c93608",
- "toolbar_color": "",
- "tab_bar_color": "#852506",
- "tab_bar_activated_color": "",
-
- "main_color": "#c93608",
- "light_color": "#c95834",
-
- "main_color_tint": "#aa614a",
- "main_color_shade": "#692611",
-
- "light_color_tint": "#d67151",
- "light_color_shade": "#a85439"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/green.json b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/green.json
deleted file mode 100644
index cb41fcf..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/green.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "green",
- "tab_bar_background_color": "green",
- "toolbar_color": "",
- "tab_bar_color": "",
- "tab_bar_activated_color": "",
-
- "main_color": "",
- "light_color": "",
-
- "main_color_tint": "",
- "main_color_shade": "",
-
- "light_color_tint": "",
- "light_color_shade": ""
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/leafygreen.json b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/leafygreen.json
deleted file mode 100644
index f3e86ce..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/leafygreen.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#336b36",
- "tab_bar_background_color": "#336b36",
- "toolbar_color": "white",
- "tab_bar_color": "#1c421d",
- "tab_bar_activated_color": "white",
-
- "main_color": "#336b36",
- "light_color": "#517953",
-
- "main_color_tint": "#497a4b",
- "main_color_shade": "#305832",
-
- "light_color_tint": "#738574",
- "light_color_shade": "#485849"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/moodyblue.json b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/moodyblue.json
deleted file mode 100644
index db1ba2f..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/moodyblue.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#7baec7",
- "tab_bar_background_color": "#7baec7",
- "toolbar_color": "",
- "tab_bar_color": "#49758b",
- "tab_bar_activated_color": "",
-
- "main_color": "#7baec7",
- "light_color": "#90bbcf",
-
- "main_color_tint": "#96c0d5",
- "main_color_shade": "#6b93a7",
-
- "light_color_tint": "#c3e2f1",
- "light_color_shade": "#89aec0"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/peelyorange.json b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/peelyorange.json
deleted file mode 100644
index f7f04f2..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/peelyorange.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "#fd8f38",
- "tab_bar_background_color": "#fd8f38",
- "toolbar_color": "#815208",
- "tab_bar_color": "#ffb67c",
- "tab_bar_activated_color": "#815208",
-
- "main_color": "#e49200",
- "light_color": "#ffb67c",
-
- "main_color_tint": "#e6ae4b",
- "main_color_shade": "#b4780c",
-
- "light_color_tint": "#fad4b6",
- "light_color_shade": "#ff9c4e"
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/red.json b/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/red.json
deleted file mode 100644
index be9c737..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoReactThemeSwitcher/themes/red.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "toolbar_background_color": "red",
- "tab_bar_background_color": "red",
- "toolbar_color": "",
- "tab_bar_color": "",
- "tab_bar_activated_color": "",
-
- "main_color": "",
- "light_color": "",
-
- "main_color_tint": "",
- "main_color_shade": "",
-
- "light_color_tint": "",
- "light_color_shade": ""
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/bookmark.png b/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/bookmark.png
deleted file mode 100644
index 4077d82..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/bookmark.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/icon/icon.png b/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/placeholder.png b/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/placeholder.png
deleted file mode 100644
index 1c2791a..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/placeholder.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/shapes.svg b/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoRecipeApp/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/cart.png b/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/cart.png
deleted file mode 100644
index dd0f595..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/cart.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/icon/icon.png b/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/shapes.svg b/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/shop.png b/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/shop.png
deleted file mode 100644
index a3a8bba..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoShopAppUi/shop.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/icon/icon.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/1.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/1.png
deleted file mode 100644
index 8a5fa94..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/1.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/10.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/10.png
deleted file mode 100644
index b68cff1..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/10.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/2.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/2.png
deleted file mode 100644
index 79a2bc2..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/2.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/3.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/3.png
deleted file mode 100644
index 52a6d66..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/3.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/4.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/4.png
deleted file mode 100644
index f3cbf68..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/4.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/5.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/5.png
deleted file mode 100644
index 7957e0b..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/5.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/6.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/6.png
deleted file mode 100644
index 938c186..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/6.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/7.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/7.png
deleted file mode 100644
index 777438b..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/7.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/8.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/8.png
deleted file mode 100644
index e74c488..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/8.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/9.png b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/9.png
deleted file mode 100644
index 88bdf32..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/scenery/9.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/shapes.svg b/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoSkeletonText/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/autumn.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/autumn.png
deleted file mode 100644
index 3725b34..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/autumn.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar.jpeg b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar.jpeg
deleted file mode 100644
index 9a30b74..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar1.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar1.png
deleted file mode 100644
index 094634d..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar1.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar2.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar2.png
deleted file mode 100644
index a787854..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar2.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar3.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar3.png
deleted file mode 100644
index 084d895..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar3.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar4.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar4.png
deleted file mode 100644
index c0c8738..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar4.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar5.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar5.png
deleted file mode 100644
index 050e908..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar5.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar6.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar6.png
deleted file mode 100644
index 8114df3..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/avatar6.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover1.jpeg b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover1.jpeg
deleted file mode 100644
index eeb888c..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover1.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover2.jpeg b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover2.jpeg
deleted file mode 100644
index 2e5074e..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover2.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover4.jpeg b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover4.jpeg
deleted file mode 100644
index f31d1f9..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover4.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover5.jpeg b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover5.jpeg
deleted file mode 100644
index 1e1fea9..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover5.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover6.jpeg b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover6.jpeg
deleted file mode 100644
index e28dd31..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/cover6.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/flower.jpeg b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/flower.jpeg
deleted file mode 100644
index 3f56d8c..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/flower.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/h.jpeg b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/h.jpeg
deleted file mode 100644
index a5be47e..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/h.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/icon/icon.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/ocean.jpeg b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/ocean.jpeg
deleted file mode 100644
index 22892f1..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/ocean.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/shapes.svg b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/spring.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/spring.png
deleted file mode 100644
index 2726d11..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/spring.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/summer.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/summer.png
deleted file mode 100644
index ae4def9..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/summer.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/van.jpeg b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/van.jpeg
deleted file mode 100644
index f73f338..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/van.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/winter.png b/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/winter.png
deleted file mode 100644
index 81694c9..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/DemoSlidingProfile/winter.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/ScoreBoard/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/ScoreBoard/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/ScoreBoard/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/ScoreBoard/icon/icon.png b/03_source/mobile.trunk.1/public/assets/ScoreBoard/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/ScoreBoard/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/ScoreBoard/icons/crown_ionicreacthub.png b/03_source/mobile.trunk.1/public/assets/ScoreBoard/icons/crown_ionicreacthub.png
deleted file mode 100644
index f5e4faf..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/ScoreBoard/icons/crown_ionicreacthub.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/ScoreBoard/icons/dashboard_ionicreacthub.png b/03_source/mobile.trunk.1/public/assets/ScoreBoard/icons/dashboard_ionicreacthub.png
deleted file mode 100644
index 856b78d..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/ScoreBoard/icons/dashboard_ionicreacthub.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/ScoreBoard/scoreboardheader.jpeg b/03_source/mobile.trunk.1/public/assets/ScoreBoard/scoreboardheader.jpeg
deleted file mode 100644
index fe4d17c..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/ScoreBoard/scoreboardheader.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/ScoreBoard/shapes.svg b/03_source/mobile.trunk.1/public/assets/ScoreBoard/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/ScoreBoard/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/WeatherDemo/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/WeatherDemo/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/WeatherDemo/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/WeatherDemo/icon/icon.png b/03_source/mobile.trunk.1/public/assets/WeatherDemo/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/WeatherDemo/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/WeatherDemo/map.png b/03_source/mobile.trunk.1/public/assets/WeatherDemo/map.png
deleted file mode 100644
index 585e1b7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/WeatherDemo/map.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/WeatherDemo/shapes.svg b/03_source/mobile.trunk.1/public/assets/WeatherDemo/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/WeatherDemo/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/WeatherDemo/temp.png b/03_source/mobile.trunk.1/public/assets/WeatherDemo/temp.png
deleted file mode 100644
index 981b728..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/WeatherDemo/temp.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/WeatherDemo/temp2.png b/03_source/mobile.trunk.1/public/assets/WeatherDemo/temp2.png
deleted file mode 100644
index 47a19c0..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/WeatherDemo/temp2.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/WeatherDemo/wind.png b/03_source/mobile.trunk.1/public/assets/WeatherDemo/wind.png
deleted file mode 100644
index 9bfa6ee..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/WeatherDemo/wind.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/data/data.json b/03_source/mobile.trunk.1/public/assets/data/data.json
deleted file mode 100644
index 44f6125..0000000
--- a/03_source/mobile.trunk.1/public/assets/data/data.json
+++ /dev/null
@@ -1,467 +0,0 @@
-{
- "schedule": [
- {
- "date": "2047-05-17",
- "groups": [
- {
- "time": "8:00 am",
- "sessions": [
- {
- "name": "Breakfast",
- "timeStart": "8:00 am",
- "timeEnd": "9:00 am",
- "location": "Dining Hall",
- "tracks": ["Food"],
- "id": "1"
- }
- ]
- },
- {
- "time": "9:15 am",
- "sessions": [
- {
- "name": "Getting Started with Ionic",
- "location": "Hall 2",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Ted Turtle"],
- "timeStart": "9:30 am",
- "timeEnd": "9:45 am",
- "tracks": ["Ionic"],
- "id": "2"
- },
- {
- "name": "Ionic Tooling",
- "location": "Executive Ballroom",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Rachel Rabbit"],
- "timeStart": "9:45 am",
- "timeEnd": "10:00 am",
- "tracks": ["Tooling"],
- "id": "3"
- },
- {
- "name": "University of Ionic",
- "location": "Hall 3",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Ellie Elephant"],
- "timeStart": "9:15 am",
- "timeEnd": "9:30 am",
- "tracks": ["Ionic"],
- "id": "4"
- }
- ]
- },
- {
- "time": "10:00 am",
- "sessions": [
- {
- "name": "Migrating to Ionic",
- "location": "Hall 1",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Eva Eagle", "Lionel Lion"],
- "timeStart": "10:00 am",
- "timeEnd": "10:15 am",
- "tracks": ["Ionic"],
- "id": "5"
- },
- {
- "name": "What's New in React",
- "location": "Hall 3",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Rachel Rabbit"],
- "timeStart": "10:15 am",
- "timeEnd": "10:30 am",
- "tracks": ["React"],
- "id": "6"
- },
- {
- "name": "The Evolution of Ionicons",
- "location": "Hall 2",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Isabella Iguana", "Eva Eagle"],
- "timeStart": "10:15 am",
- "timeEnd": "10:30 am",
- "tracks": ["Design"],
- "id": "7"
- },
- {
- "name": "Ionic Pro",
- "location": "Grand Ballroom A",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Charlie Cheetah"],
- "timeStart": "10:45 am",
- "timeEnd": "11:00 am",
- "tracks": ["Services"],
- "id": "8"
- }
- ]
- },
- {
- "time": "11:00 am",
- "sessions": [
- {
- "name": "Ionic Workshop",
- "location": "Hall 1",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Karl Kitten", "Lionel Lion"],
- "timeStart": "11:00 am",
- "timeEnd": "11:45 am",
- "tracks": ["Workshop"],
- "id": "9"
- },
- {
- "name": "Community Interaction",
- "location": "Hall 3",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Lionel Lion", "Gino Giraffe"],
- "timeStart": "11:30 am",
- "timeEnd": "11:50 am",
- "tracks": ["Communication"],
- "id": "10"
- },
- {
- "name": "Navigation in Ionic",
- "location": "Grand Ballroom A",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Rachel Rabbit", "Eva Eagle"],
- "timeStart": "11:30 am",
- "timeEnd": "12:00 pm",
- "tracks": ["Navigation"],
- "id": "11"
- }
- ]
- },
- {
- "time": "12:00 pm",
- "sessions": [
- {
- "name": "Lunch",
- "location": "Dining Hall",
- "description": "Come grab lunch with all the Ionic fanatics and talk all things Ionic",
- "timeStart": "12:00 pm",
- "timeEnd": "1:00 pm",
- "tracks": ["Food"],
- "id": "12"
- }
- ]
- },
- {
- "time": "1:00 pm",
- "sessions": [
- {
- "name": "Ionic in the Enterprise",
- "location": "Hall 1",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Paul Puppy"],
- "timeStart": "1:00 pm",
- "timeEnd": "1:15 pm",
- "tracks": ["Communication"],
- "id": "13"
- },
- {
- "name": "Ionic Worldwide",
- "location": "Hall 1",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Gino Giraffe"],
- "timeStart": "1:15 pm",
- "timeEnd": "1:30 pm",
- "tracks": ["Communication"],
- "id": "14"
- },
- {
- "name": "The Ionic Package",
- "location": "Grand Ballroom B",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Molly Mouse", "Burt Bear"],
- "timeStart": "1:30 pm",
- "timeEnd": "2:00 pm",
- "tracks": ["Services"],
- "id": "15"
- }
- ]
- },
- {
- "time": "2:00 pm",
- "sessions": [
- {
- "name": "Push Notifications in Ionic",
- "location": "Hall 2",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Burt Bear", "Charlie Cheetah"],
- "timeStart": "2:00 pm",
- "timeEnd": "2:30 pm",
- "tracks": ["Services"],
- "id": "16"
- },
- {
- "name": "Ionic Documentation",
- "location": "Grand Ballroom B",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Donald Duck"],
- "timeStart": "2:30 pm",
- "timeEnd": "2:45 pm",
- "tracks": ["Documentation"],
- "id": "17"
- },
- {
- "name": "UX in Ionic",
- "location": "Hall 3",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Isabella Iguana", "Ellie Elephant"],
- "timeStart": "2:45 pm",
- "timeEnd": "3:00 pm",
- "tracks": ["Design"],
- "id": "18"
- }
- ]
- },
- {
- "time": "3:00 pm",
- "sessions": [
- {
- "name": "Building with React and Ionic",
- "location": "Hall 1",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Ted Turtle"],
- "timeStart": "3:00 pm",
- "timeEnd": "3:30 pm",
- "tracks": ["React"],
- "id": "19"
- },
- {
- "name": "Mobile States",
- "location": "Hall 2",
- "description": "Mobile devices and browsers are now advanced enough that developers can build native-quality mobile apps using open web technologies like HTML5, Javascript, and CSS. In this talk, we’ll provide background on why and how we created Ionic, the design decisions made as we integrated Ionic with React, and the performance considerations for mobile platforms that our team had to overcome. We’ll also review new and upcoming Ionic features, and talk about the hidden powers and benefits of combining mobile app development and React.",
- "speakerNames": ["Rachel Rabbit"],
- "timeStart": "3:30 pm",
- "timeEnd": "3:45 pm",
- "tracks": ["Navigation"],
- "id": "20"
- }
- ]
- }
- ]
- }
- ],
-
- "speakers": [
- {
- "name": "Burt Bear",
- "profilePic": "/assets/img/speakers/bear.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Burt is a Bear. Burt's interests include poetry, dashing space heroes, and lions.",
- "title": "Software Engineer",
- "location": "Everywhere",
- "email": "burt@example.com",
- "phone": "+1-541-754-3010",
- "id": "1"
- },
- {
- "name": "Charlie Cheetah",
- "profilePic": "/assets/img/speakers/cheetah.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Charlie is a Cheetah. Charlie's interests include country music, plush animals, pyrotechnics, and skeletons.",
- "title": "Software Engineer",
- "location": "Everywhere",
- "email": "charlie@example.com",
- "phone": "+1-541-754-3010",
- "id": "2"
- },
- {
- "name": "Donald Duck",
- "profilePic": "/assets/img/speakers/duck.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Donald is a Duck. Donald's interests include carpentry, superheroes, merpeople, and glam rock.",
- "title": "Software Engineer",
- "location": "Everywhere",
- "email": "donald@example.com",
- "phone": "+1-541-754-3010",
- "id": "3"
- },
- {
- "name": "Eva Eagle",
- "profilePic": "/assets/img/speakers/eagle.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Eva is an Eagle. Eva's interests include ants, seashells, and cupcakes.",
- "title": "Developer Advocate",
- "location": "Everywhere",
- "email": "eva@example.com",
- "phone": "+1-541-754-3010",
- "id": "4"
- },
- {
- "name": "Ellie Elephant",
- "profilePic": "/assets/img/speakers/elephant.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Ellie is an Elephant. Ellie's interests include pocket watches, pool, hand fans, and ninjas.",
- "title": "Software Engineer",
- "location": "Everywhere",
- "email": "ellie@example.com",
- "phone": "+1-541-754-3010",
- "id": "5"
- },
- {
- "name": "Gino Giraffe",
- "profilePic": "/assets/img/speakers/giraffe.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Gino is a Giraffe. Gino's interests include candy-making, unicorns, and birdhouses.",
- "title": "Software Engineer",
- "location": "Everywhere",
- "email": "gino@example.com",
- "phone": "+1-541-754-3010",
- "id": "6"
- },
- {
- "name": "Isabella Iguana",
- "profilePic": "/assets/img/speakers/iguana.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Isabella is an Iguana. Isabella's interests include crystals, architecture, and candle-making.",
- "title": "Software Engineer",
- "location": "Everywhere",
- "email": "isabella@example.com",
- "phone": "+1-541-754-3010",
- "id": "7"
- },
- {
- "name": "Karl Kitten",
- "profilePic": "/assets/img/speakers/kitten.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Karl is a Kitten. Karl's interests include skiing, jewelry, and needlepoint.",
- "title": "Developer Advocate",
- "location": "Everywhere",
- "email": "karl@example.com",
- "phone": "+1-541-754-3010",
- "id": "8"
- },
- {
- "name": "Lionel Lion",
- "profilePic": "/assets/img/speakers/lion.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Lionel is a Lion. Lionel's interests include lizards and mathematics.",
- "title": "Developer Advocate",
- "location": "Everywhere",
- "email": "lionel@example.com",
- "phone": "+1-541-754-3010",
- "id": "9"
- },
- {
- "name": "Molly Mouse",
- "profilePic": "/assets/img/speakers/mouse.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Molly is a Mouse. Molly's interests include werewolves and magic.",
- "title": "Software Engineer",
- "location": "Everywhere",
- "email": "molly@example.com",
- "phone": "+1-541-754-3010",
- "id": "10"
- },
- {
- "name": "Paul Puppy",
- "profilePic": "/assets/img/speakers/puppy.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Paul is a Puppy. Paul's interests include maps, whales, and dragons.",
- "title": "Software Engineer",
- "location": "Everywhere",
- "email": "paul@example.com",
- "phone": "+1-541-754-3010",
- "id": "11"
- },
- {
- "name": "Rachel Rabbit",
- "profilePic": "/assets/img/speakers/rabbit.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Rachel is a Rabbit. Rachel's interests include clowns, skeletons, and yo-yos.",
- "title": "Senior Software Engineer",
- "location": "Everywhere",
- "email": "rachel@example.com",
- "phone": "+1-541-754-3010",
- "id": "12"
- },
- {
- "name": "Ted Turtle",
- "profilePic": "/assets/img/speakers/turtle.jpg",
- "instagram": "ionicframework",
- "twitter": "ionicframework",
- "about": "Ted is a Turtle. Ted's interests include butterflies, skiing, and cupcakes.",
- "title": "Software Engineer",
- "location": "Everywhere",
- "email": "ted@example.com",
- "phone": "+1-541-754-3010",
- "id": "13"
- }
- ],
-
- "map": [
- {
- "name": "Monona Terrace Convention Center",
- "lat": 43.071584,
- "lng": -89.38012,
- "center": true
- },
- {
- "name": "Ionic HQ",
- "lat": 43.074395,
- "lng": -89.381056
- },
- {
- "name": "Afterparty - Brocach Irish Pub",
- "lat": 43.07336,
- "lng": -89.38335
- }
- ],
-
- "tracks": [
- {
- "name": "React",
- "icon": "logo-react"
- },
- {
- "name": "Documentation",
- "icon": "document"
- },
- {
- "name": "Food",
- "icon": "restaurant"
- },
- {
- "name": "Ionic",
- "icon": "logo-ionic"
- },
- {
- "name": "Tooling",
- "icon": "hammer"
- },
- {
- "name": "Design",
- "icon": "color-palette"
- },
- {
- "name": "Services",
- "icon": "cog"
- },
- {
- "name": "Workshop",
- "icon": "construct"
- },
- {
- "name": "Communication",
- "icon": "call"
- },
- {
- "name": "Navigation",
- "icon": "compass"
- }
- ]
-}
diff --git a/03_source/mobile.trunk.1/public/assets/data/locations.json b/03_source/mobile.trunk.1/public/assets/data/locations.json
deleted file mode 100644
index 7743cc9..0000000
--- a/03_source/mobile.trunk.1/public/assets/data/locations.json
+++ /dev/null
@@ -1,23 +0,0 @@
-[
- {
- "id": 1,
- "name": "Map Center",
- "lat": 43.071584,
- "lng": -89.380120
- }, {
- "id": 2,
- "name": "Monona Terrace Convention Center",
- "lat": 43.071584,
- "lng": -89.380120
- }, {
- "id": 3,
- "name": "Ionic HQ",
- "lat": 43.074395,
- "lng": -89.381056
- }, {
- "id": 4,
- "name": "Afterparty - Brocach Irish Pub",
- "lat": 43.07336,
- "lng": -89.38335
- }
-]
diff --git a/03_source/mobile.trunk.1/public/assets/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/about/austin.jpg b/03_source/mobile.trunk.1/public/assets/img/about/austin.jpg
deleted file mode 100644
index b4eb329..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/about/austin.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/about/chicago.jpg b/03_source/mobile.trunk.1/public/assets/img/about/chicago.jpg
deleted file mode 100644
index b982b65..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/about/chicago.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/about/madison.jpg b/03_source/mobile.trunk.1/public/assets/img/about/madison.jpg
deleted file mode 100644
index c46fbf0..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/about/madison.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/about/seattle.jpg b/03_source/mobile.trunk.1/public/assets/img/about/seattle.jpg
deleted file mode 100644
index 4c5946a..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/about/seattle.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/appicon.png b/03_source/mobile.trunk.1/public/assets/img/appicon.png
deleted file mode 100644
index 3aa6ee2..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/appicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/appicon.svg b/03_source/mobile.trunk.1/public/assets/img/appicon.svg
deleted file mode 100644
index 3d2a03b..0000000
--- a/03_source/mobile.trunk.1/public/assets/img/appicon.svg
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-1.png b/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-1.png
deleted file mode 100644
index 9233602..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-1.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-2.png b/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-2.png
deleted file mode 100644
index 2fdce7d..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-2.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-3.png b/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-3.png
deleted file mode 100644
index a304e88..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-3.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-4.png b/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-4.png
deleted file mode 100644
index 2f263d6..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/ica-slidebox-img-4.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/ionic-logo-white.svg b/03_source/mobile.trunk.1/public/assets/img/ionic-logo-white.svg
deleted file mode 100644
index 7ebf0cd..0000000
--- a/03_source/mobile.trunk.1/public/assets/img/ionic-logo-white.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/img/speaker-background.png b/03_source/mobile.trunk.1/public/assets/img/speaker-background.png
deleted file mode 100644
index 220634e..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speaker-background.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/bear.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/bear.jpg
deleted file mode 100755
index a968db7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/bear.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/cheetah.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/cheetah.jpg
deleted file mode 100755
index f188a81..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/cheetah.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/duck.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/duck.jpg
deleted file mode 100755
index b8b7c52..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/duck.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/eagle.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/eagle.jpg
deleted file mode 100755
index ac839a5..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/eagle.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/elephant.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/elephant.jpg
deleted file mode 100755
index 0727847..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/elephant.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/giraffe.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/giraffe.jpg
deleted file mode 100755
index 30a854c..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/giraffe.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/iguana.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/iguana.jpg
deleted file mode 100755
index 75d528f..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/iguana.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/kitten.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/kitten.jpg
deleted file mode 100755
index 3cc1359..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/kitten.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/lion.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/lion.jpg
deleted file mode 100755
index f5eb632..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/lion.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/mouse.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/mouse.jpg
deleted file mode 100755
index ca30177..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/mouse.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/puppy.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/puppy.jpg
deleted file mode 100755
index d635a8a..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/puppy.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/rabbit.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/rabbit.jpg
deleted file mode 100755
index 475d62c..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/rabbit.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/img/speakers/turtle.jpg b/03_source/mobile.trunk.1/public/assets/img/speakers/turtle.jpg
deleted file mode 100755
index 60c3496..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/img/speakers/turtle.jpg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/beds.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/beds.jpeg
deleted file mode 100644
index 8582d80..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/beds.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/coats3.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/coats3.jpeg
deleted file mode 100644
index edff4bf..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/coats3.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/coffee_table.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/coffee_table.jpeg
deleted file mode 100644
index 21e9601..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/coffee_table.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/dresses3.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/dresses3.jpeg
deleted file mode 100644
index 7a34676..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/dresses3.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/formal_shirts2.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/formal_shirts2.jpeg
deleted file mode 100644
index 59cd44f..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/formal_shirts2.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/home.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/home.jpeg
deleted file mode 100644
index 75f42a3..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/home.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/icon/favicon.png b/03_source/mobile.trunk.1/public/assets/react-shop/icon/favicon.png
deleted file mode 100644
index 51888a7..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/icon/favicon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/icon/icon.png b/03_source/mobile.trunk.1/public/assets/react-shop/icon/icon.png
deleted file mode 100644
index a7f6374..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/icon/icon.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/jeans.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/jeans.jpeg
deleted file mode 100644
index b90bfd1..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/jeans.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/makeup2.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/makeup2.jpeg
deleted file mode 100644
index e291108..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/makeup2.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/men.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/men.jpeg
deleted file mode 100644
index 23bf901..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/men.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/office.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/office.jpeg
deleted file mode 100644
index 486ec39..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/office.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/shapes.svg b/03_source/mobile.trunk.1/public/assets/react-shop/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/react-shop/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/sportswear2.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/sportswear2.jpeg
deleted file mode 100644
index 285614c..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/sportswear2.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/react-shop/women.jpeg b/03_source/mobile.trunk.1/public/assets/react-shop/women.jpeg
deleted file mode 100644
index 0ad70ef..0000000
Binary files a/03_source/mobile.trunk.1/public/assets/react-shop/women.jpeg and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/assets/shapes.svg b/03_source/mobile.trunk.1/public/assets/shapes.svg
deleted file mode 100644
index d370b4d..0000000
--- a/03_source/mobile.trunk.1/public/assets/shapes.svg
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/03_source/mobile.trunk.1/public/favicon.ico b/03_source/mobile.trunk.1/public/favicon.ico
deleted file mode 100644
index a11777c..0000000
Binary files a/03_source/mobile.trunk.1/public/favicon.ico and /dev/null differ
diff --git a/03_source/mobile.trunk.1/public/manifest.json b/03_source/mobile.trunk.1/public/manifest.json
deleted file mode 100644
index ee4307c..0000000
--- a/03_source/mobile.trunk.1/public/manifest.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
- "short_name": "Ionic React Conf",
- "name": "Ionic React Conf",
- "icons": [
- {
- "src": "assets/icon/favicon.png",
- "sizes": "64x64 32x32 24x24 16x16",
- "type": "image/x-icon"
- },
- {
- "src": "assets/icon/icon.png",
- "type": "image/png",
- "sizes": "512x512",
- "purpose": "maskable"
- }
- ],
- "start_url": ".",
- "display": "standalone",
- "theme_color": "#ffffff",
- "background_color": "#ffffff"
-}
diff --git a/03_source/mobile.trunk.1/src/App.scss b/03_source/mobile.trunk.1/src/App.scss
deleted file mode 100644
index b0e2713..0000000
--- a/03_source/mobile.trunk.1/src/App.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * App Global CSS
- * ----------------------------------------------------------------------------
- * Put style rules here that you want to apply globally. These styles are for
- * the entire app and not just one component.
- */
-
-@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+HK:wght@100..900&family=Noto+Sans+JP:wght@100..900&family=Noto+Sans+SC:wght@100..900&display=swap');
-
-.noto-sans-hk-body {
- font-family: 'Noto Sans HK', sans-serif;
- font-optical-sizing: auto;
- font-weight: unset;
- font-style: normal;
-}
-
-.noto-sans-sc-body {
- font-family: 'Noto Sans SC', sans-serif;
- font-optical-sizing: auto;
- font-weight: unset;
- font-style: normal;
-}
-
-.noto-sans-jp-body {
- font-family: 'Noto Sans JP', sans-serif;
- font-optical-sizing: auto;
- font-weight: unset;
- font-style: normal;
-}
diff --git a/03_source/mobile.trunk.1/src/App.test.tsx b/03_source/mobile.trunk.1/src/App.test.tsx
deleted file mode 100644
index 2ae5593..0000000
--- a/03_source/mobile.trunk.1/src/App.test.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-import App from './App';
-import { render } from '@testing-library/react';
-
-it('renders without crashing', () => {
- const { asFragment, container } = render( );
- expect(asFragment()).toMatchSnapshot();
-});
diff --git a/03_source/mobile.trunk.1/src/App.tsx b/03_source/mobile.trunk.1/src/App.tsx
deleted file mode 100644
index 98fc660..0000000
--- a/03_source/mobile.trunk.1/src/App.tsx
+++ /dev/null
@@ -1,149 +0,0 @@
-import React, { useEffect } from 'react';
-import { Route } from 'react-router-dom';
-import { IonApp, IonRouterOutlet, IonSplitPane, setupIonicReact } from '@ionic/react';
-import { IonReactRouter } from '@ionic/react-router';
-
-import Menu from './components/Menu';
-
-/* Core CSS required for Ionic components to work properly */
-import '@ionic/react/css/core.css';
-
-/* Basic CSS for apps built with Ionic */
-import '@ionic/react/css/normalize.css';
-import '@ionic/react/css/structure.css';
-import '@ionic/react/css/typography.css';
-
-/* Optional CSS utils that can be commented out */
-import '@ionic/react/css/padding.css';
-import '@ionic/react/css/float-elements.css';
-import '@ionic/react/css/text-alignment.css';
-import '@ionic/react/css/text-transformation.css';
-import '@ionic/react/css/flex-utils.css';
-import '@ionic/react/css/display.css';
-
-/**
- * Ionic Dark Mode
- * -----------------------------------------------------
- * For more info, please see:
- * https://ionicframework.com/docs/theming/dark-mode
- */
-
-// import "@ionic/react/css/palettes/dark.always.css";
-// import "@ionic/react/css/palettes/dark.system.css";
-import '@ionic/react/css/palettes/dark.class.css';
-
-/* Theme variables */
-import './theme/variables.css';
-
-/* Leaflet CSS */
-import 'leaflet/dist/leaflet.css';
-
-/* Global styles */
-import './App.scss';
-import MainTabs from './pages/MainTabs';
-import { connect } from './data/connect';
-import { AppContextProvider } from './data/AppContext';
-import { loadConfData } from './data/sessions/sessions.actions';
-import { setIsLoggedIn, setUsername, loadUserData } from './data/user/user.actions';
-import Account from './pages/Account';
-import Login from './pages/Login';
-import MyLogin from './pages/MyLogin';
-import Signup from './pages/Signup';
-import Support from './pages/Support';
-import Tutorial from './pages/Tutorial';
-import HomeOrTutorial from './components/HomeOrTutorial';
-import { Schedule } from './models/Schedule';
-import RedirectToLogin from './components/RedirectToLogin';
-import AppRoute from './AppRoute';
-
-import AppDemoRoute from './routes/DemoRoute';
-import Settings from './pages/Settings';
-
-setupIonicReact();
-
-const App: React.FC = () => {
- return (
-
-
-
- );
-};
-
-interface StateProps {
- darkMode: boolean;
- schedule: Schedule;
-}
-
-interface DispatchProps {
- loadConfData: typeof loadConfData;
- loadUserData: typeof loadUserData;
- setIsLoggedIn: typeof setIsLoggedIn;
- setUsername: typeof setUsername;
-}
-
-interface IonicAppProps extends StateProps, DispatchProps {}
-
-const IonicApp: React.FC = ({ darkMode, schedule, setIsLoggedIn, setUsername, loadConfData, loadUserData }) => {
- useEffect(() => {
- loadUserData();
- loadConfData();
-
- // eslint-disable-next-line
- }, []);
-
- return schedule.groups.length === 0 ? (
-
- ) : (
-
-
-
-
-
- {/*
- We use IonRoute here to keep the tabs state intact,
- which makes transitions between tabs and non tab pages smooth
- */}
-
-
-
-
- } />
-
-
-
-
-
-
-
-
-
-
- {
- return ;
- }}
- />
-
-
-
-
-
- );
-};
-
-export default App;
-
-const IonicAppConnected = connect<{}, StateProps, DispatchProps>({
- mapStateToProps: (state) => ({
- darkMode: state.user.darkMode,
- schedule: state.data.schedule,
- }),
- mapDispatchToProps: {
- loadConfData,
- loadUserData,
- setIsLoggedIn,
- setUsername,
- },
- component: IonicApp,
-});
diff --git a/03_source/mobile.trunk.1/src/AppRoute.tsx b/03_source/mobile.trunk.1/src/AppRoute.tsx
deleted file mode 100644
index 070aafc..0000000
--- a/03_source/mobile.trunk.1/src/AppRoute.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// pages without bottom tab bar
-//
-
-import { Route } from 'react-router';
-import NotImplemented from './pages/NotImplemented';
-import EventDetail from './pages/EventDetail';
-import MemberProfile from './pages/MemberProfile';
-import PATHS from './PATHS';
-import Settings from './pages/Settings';
-import ChangeLanguage from './pages/ChangeLanguage';
-import ServiceAgreement from './pages/ServiceAgreement';
-import PrivacyAgreement from './pages/PrivacyAgreement';
-// import OrderDetails from './pages/OrderDetail';
-import OrderDetail from './pages/OrderDetail';
-
-const AppRoute: React.FC = () => {
- return (
- <>
-
-
- {/* */}
-
-
-
- {/* component make the ":id" available in the "OrderDetail" */}
-
- {/* */}
-
- {/* */}
-
-
-
-
- >
- );
-};
-
-export default AppRoute;
diff --git a/03_source/mobile.trunk.1/src/PATHS.ts b/03_source/mobile.trunk.1/src/PATHS.ts
deleted file mode 100644
index 032b23e..0000000
--- a/03_source/mobile.trunk.1/src/PATHS.ts
+++ /dev/null
@@ -1,81 +0,0 @@
-const PATHS = {
- NOT_IMPLEMENTED: '/not_implemented',
- SETTINGS: '/settings',
- CHANGE_LANGUAGE: '/change_language',
- SERVICE_AGREEMENT: '/service_agreement',
- PRIVACY_AGREEMENT: '/privacy_agreement',
- SIGN_IN: '/mylogin',
- //
- ORDER_DETAIL: '/order_detail/:id',
- getOrderDetail: (id: string) => `/order_detail/${id}`,
- //
- TAB_NOT_IMPLEMENTED: '/tabs/not_implemented',
- EVENT_LIST: `/tabs/events`,
- MESSAGE_LIST: `/tabs/messages`,
- NEARBY_LIST: '/tabs/nearby',
- ORDERS_LIST: '/tabs/orders',
- FAVOURITES_LIST: `/tabs/favourites`,
- PROFILE: '/tabs/my_profile',
-
- //
- // DEMO_WEATHER_APP: '/demo-weather-app',
- DEMO_WEATHER_APP_UI: '/demo-weather-app-ui',
- //
-
- DEMO_2FA_EXAMPLE: '/demo-2fa-example',
- DEMO_ACCORDION_TUTORIAL: '/demo-accordion-tutorial',
- DEMO_BANKING_UI: '/demo-banking-ui',
- DEMO_BLOG_POST_UI: '/demo-blog-post-ui',
- DEMO_CAPACITOR_GOOGLE_MAPS_TUTORIAL: '/demo-capacitor-google-maps-tutorial',
- DEMO_CLUB_HOUSE: '/demo-club-house',
- DEMO_COLOR_TUTORIAL: '/demo-color-tutorial',
- DEMO_DICTIONARY_APP: '/demo-dictionary-app',
- DEMO_ECOMMERCE_EXAMPLE: '/demo-ecommerce-example',
- DEMO_FACEBOOK_CLONE: '/demo-facebook-clone',
- DEMO_FAST_FOOD_APP: '/demo-fast-food-app',
- DEMO_FLOATING_TABS: '/demo-floating-tabs',
- DEMO_INSTAGRAM_CLONE: '/demo-instagram-clone',
- DEMO_KANBAN_BOARD: '/demo-kanban-board',
- DEMO_ORDERING_APP: '/demo-ordering-app',
- DEMO_PAGE: '/tabs/demo-list',
- DEMO_PINTEREST_FLOATING_TAB_BAR: '/demo-pinterest-floating-tab-bar',
- DEMO_PROFILE_EXAMPLE: '/demo-profile-example',
- DEMO_PULLSTATE_TUTORIAL: '/demo-pullstate-tutorial',
- DEMO_QUIZ_APP: '/demo-quiz-app',
- DEMO_QUOTE_APP: '/demo-quote-app',
- DEMO_REACT_ADD_TO_CART: '/demo-react-add-to-cart',
- DEMO_REACT_CALCULATOR: '/demo-react-calculator',
- DEMO_REACT_DRAWING_CANVAS: '/demo-react-drawing-canvas',
- DEMO_REACT_HOOK_FORM_EXAMPLE: '/demo-react-hook-form-example',
- DEMO_REACT_ITEM_LIST: '/demo-react-item-list',
- DEMO_REACT_LIFECYCLES: '/demo-react-lifecycles',
- DEMO_REACT_LOGIN: '/demo-react-login',
- DEMO_REACT_MARVEL_APP: '/demo-react-marvel-app',
- DEMO_REACT_MOVIE_APP_WITH_ALGOLIA: '/demo-react-movie-app-with-algolia',
- DEMO_REACT_NOTES: '/demo-react-notes',
- DEMO_REACT_ONBOARDING_UI: '/demo-react-onboarding-ui',
- DEMO_REACT_OVERLAY_HOOKS: '/demo-react-overlay-hooks',
- DEMO_REACT_POLL_APP: '/demo-react-poll-app',
- DEMO_REACT_PROFILE_DASHBOARD_UI: '/demo-react-profile-dashboard-ui',
-
- DEMO_REACT_QR_CODE: '/demo-react-qr-code',
- DEMO_QR_SCANNER: '/demo-qr-scanner',
-
- DEMO_REACT_QUOTES: '/demo-react-quotes',
- DEMO_REACT_SHOP_UI: '/demo-react-shop-ui',
- DEMO_REACT_SHOP: '/demo-react-shop',
- DEMO_REACT_SWITCH_TABS: '/demo-react-switch-tabs',
- DEMO_REACT_TABS_MENUS_CUSTOM: '/demo-react-tabs-menus-custom',
- DEMO_REACT_THEME_SWITCHER: '/demo-react-theme-switcher',
- DEMO_REACT_TRAVEL_APP: '/demo-react-travel-app',
- DEMO_REACT_WHATSAPP_CLONE: '/demo-react-whatsapp-clone',
- DEMO_RECIPE_APP: '/demo-recipe-app',
- DEMO_RESTAURANT_FINDER: '/demo-restaurant-finder',
- DEMO_SCORE_BOARD: '/demo-score-board',
- DEMO_SHOP_APP_UI: '/demo-shop-app-ui',
- DEMO_SKELETON_TEXT: '/demo-skeleton-text',
- DEMO_SLIDING_PROFILE: '/demo-sliding-profile',
- DEMO_STICKY_BOTTOM_SHEET_EXAMPLE: '/demo-sticky-bottom-sheet-example',
- DEMO_STORAGE_EXAMPLE: '/demo-storage-example',
-};
-export default PATHS;
diff --git a/03_source/mobile.trunk.1/src/TabAppRoute.tsx b/03_source/mobile.trunk.1/src/TabAppRoute.tsx
deleted file mode 100644
index 7f64525..0000000
--- a/03_source/mobile.trunk.1/src/TabAppRoute.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import { Route } from 'react-router';
-import NotImplemented from './pages/NotImplemented';
-import EventDetail from './pages/EventDetail';
-import MemberProfile from './pages/MemberProfile';
-import PATHS from './PATHS';
-import MembersNearByList from './pages/MembersNearByList';
-import OrderList from './pages/OrderList';
-import MessageList from './pages/MessageList';
-import Favourites from './pages/Favourites';
-import MyProfile from './pages/MyProfile';
-import EventList from './pages/EventList';
-import Helloworld from './pages/Helloworld';
-// import WeatherDemo from './pages/WeatherDemo/Tab1';
-import DemoList from './pages/DemoList';
-// import DemoReactShop from './pages/DemoReactShop';
-
-const TabAppRoute: React.FC = () => {
- return (
- <>
-
-
- {/* */}
- } exact={true} />
-
- {/* */}
- } exact={true} />
-
- {/* */}
- } exact={true} />
-
- {/* */}
- } exact={true} />
-
- {/* */}
- } exact={true} />
-
- {/* */}
- } exact={true} />
-
- {/* */}
- } exact={true} />
-
- {/* */}
- } exact={true} />
- >
- );
-};
-
-export default TabAppRoute;
diff --git a/03_source/mobile.trunk.1/src/__snapshots__/App.test.tsx.snap b/03_source/mobile.trunk.1/src/__snapshots__/App.test.tsx.snap
deleted file mode 100644
index 444f038..0000000
--- a/03_source/mobile.trunk.1/src/__snapshots__/App.test.tsx.snap
+++ /dev/null
@@ -1,280 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`renders without crashing 1`] = `
-
-
-
-
-
-
-
- Menu
-
-
-
-
-
-
- Navigate
-
-
-
-
-
- Schedule
-
-
-
-
-
-
-
- Speakers
-
-
-
-
-
-
-
- Map
-
-
-
-
-
-
-
- About
-
-
-
-
-
-
- Account
-
-
-
-
-
- Account
-
-
-
-
-
-
-
- Support
-
-
-
-
-
-
-
- Logout
-
-
-
-
-
-
- Tutorial
-
-
-
- Show Tutorial
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- All
-
-
- Favorites
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- No Sessions Found
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Schedule
-
-
-
-
-
- Speakers
-
-
-
-
-
- Map
-
-
-
-
-
- About
-
-
-
-
-
-
-
-
-`;
diff --git a/03_source/mobile.trunk.1/src/api/Helloworld.ts b/03_source/mobile.trunk.1/src/api/Helloworld.ts
deleted file mode 100644
index 5c5216f..0000000
--- a/03_source/mobile.trunk.1/src/api/Helloworld.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-function Helloworld() {
- console.log('helloworld');
-}
-
-export { Helloworld };
diff --git a/03_source/mobile.trunk.1/src/api/getEventById.ts b/03_source/mobile.trunk.1/src/api/getEventById.ts
deleted file mode 100644
index f75b2b2..0000000
--- a/03_source/mobile.trunk.1/src/api/getEventById.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-// REQ0042/event-detail
-//
-// PURPOSE:
-// - provide api access to backend db
-//
-// RULES:
-// - T.B.A.
-//
-
-import axios from 'axios';
-import constants from '../constants';
-
-function getEventById(id: string) {
- return axios.get(`${constants.API_ENDPOINT}/v1/events/1`);
-}
-
-export { getEventById };
diff --git a/03_source/mobile.trunk.1/src/api/getEvents.ts b/03_source/mobile.trunk.1/src/api/getEvents.ts
deleted file mode 100644
index 14b9e74..0000000
--- a/03_source/mobile.trunk.1/src/api/getEvents.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-// REQ0042/event-detail
-//
-// PURPOSE:
-// - provide api access to backend db
-//
-// RULES:
-// - T.B.A.
-//
-
-import axios from 'axios';
-import constants from '../constants';
-
-function getEvents() {
- return axios.get(`${constants.API_ENDPOINT}/v1/events`);
-}
-
-export { getEvents };
diff --git a/03_source/mobile.trunk.1/src/api/getMemberById.ts b/03_source/mobile.trunk.1/src/api/getMemberById.ts
deleted file mode 100644
index dfee0ed..0000000
--- a/03_source/mobile.trunk.1/src/api/getMemberById.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-// REQ0042/event-detail
-//
-// PURPOSE:
-// - provide api access to backend db
-//
-// RULES:
-// - T.B.A.
-//
-
-import axios from 'axios';
-import constants from '../constants';
-
-function getMemberById(id: string) {
- return axios.get(`${constants.API_ENDPOINT}/v1/members/2`);
-}
-
-export { getMemberById };
diff --git a/03_source/mobile.trunk.1/src/api/getMembers.ts b/03_source/mobile.trunk.1/src/api/getMembers.ts
deleted file mode 100644
index b65bab8..0000000
--- a/03_source/mobile.trunk.1/src/api/getMembers.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-// REQ0042/event-detail
-//
-// PURPOSE:
-// - provide api access to backend db
-//
-// RULES:
-// - T.B.A.
-//
-
-import axios from 'axios';
-import constants from '../constants';
-
-function getMembers() {
- return axios.get(`${constants.API_ENDPOINT}/v1/members`);
-}
-
-export { getMembers };
diff --git a/03_source/mobile.trunk.1/src/api/getOrders.ts b/03_source/mobile.trunk.1/src/api/getOrders.ts
deleted file mode 100644
index 50bb6fd..0000000
--- a/03_source/mobile.trunk.1/src/api/getOrders.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-// REQ0047/order-page
-//
-// PURPOSE:
-// - provide api access to backend db for orders
-//
-// RULES:
-// - T.B.A.
-//
-
-import axios from 'axios';
-import constants from '../constants';
-
-function getOrders() {
- return axios.get(`${constants.API_ENDPOINT}/v1/orders`);
-}
-
-export { getOrders };
diff --git a/03_source/mobile.trunk.1/src/api/getProfileById.ts b/03_source/mobile.trunk.1/src/api/getProfileById.ts
deleted file mode 100644
index 9b09f93..0000000
--- a/03_source/mobile.trunk.1/src/api/getProfileById.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-// REQ0053/profile-page
-//
-// PURPOSE:
-// - Provides functionality get user profile by id
-//
-// RULES:
-// - T.B.A.
-//
-
-import axios from 'axios';
-import constants from '../constants';
-
-function getProfileById(id: string) {
- return axios.get(`${constants.API_ENDPOINT}/v1/profile/${id}`);
-}
-
-export { getProfileById };
diff --git a/03_source/mobile.trunk.1/src/components/AboutPopover.tsx b/03_source/mobile.trunk.1/src/components/AboutPopover.tsx
deleted file mode 100644
index 030106e..0000000
--- a/03_source/mobile.trunk.1/src/components/AboutPopover.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import React from 'react';
-import { IonList, IonItem, IonLabel } from '@ionic/react';
-
-interface AboutPopoverProps {
- dismiss: () => void;
-}
-
-const AboutPopover: React.FC = ({ dismiss }) => {
- const close = (url: string) => {
- window.open(url, '_blank');
- dismiss();
- };
-
- return (
-
- close('https://ionicframework.com/docs')}>
- Learn Ionic
-
- close('https://ionicframework.com/docs/react')}>
- Documentation
-
- close('https://showcase.ionicframework.com')}>
- Showcase
-
- close('https://github.com/ionic-team/ionic-framework')}>
- GitHub Repo
-
-
- Support
-
-
- );
-};
-
-export default AboutPopover;
diff --git a/03_source/mobile.trunk.1/src/components/HomeOrTutorial.tsx b/03_source/mobile.trunk.1/src/components/HomeOrTutorial.tsx
deleted file mode 100644
index 8d4f61e..0000000
--- a/03_source/mobile.trunk.1/src/components/HomeOrTutorial.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import React from 'react';
-import { connect } from '../data/connect';
-import { Redirect } from 'react-router';
-
-interface StateProps {
- hasSeenTutorial: boolean;
-}
-
-const HomeOrTutorial: React.FC = ({ hasSeenTutorial }) => {
- return hasSeenTutorial ? : ;
-};
-
-export default connect<{}, StateProps, {}>({
- mapStateToProps: (state) => ({
- hasSeenTutorial: state.user.hasSeenTutorial,
- }),
- component: HomeOrTutorial,
-});
diff --git a/03_source/mobile.trunk.1/src/components/Loading/index.tsx b/03_source/mobile.trunk.1/src/components/Loading/index.tsx
deleted file mode 100644
index f306eaf..0000000
--- a/03_source/mobile.trunk.1/src/components/Loading/index.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import React, { CSSProperties, useState } from 'react';
-import { connect } from '../../data/connect';
-import { IonLoading } from '@ionic/react';
-import { GridLoader } from 'react-spinners';
-
-interface OwnProps {}
-
-interface StateProps {}
-
-interface DispatchProps {}
-
-const override: CSSProperties = {
- display: 'block',
- margin: '0 auto',
- borderColor: 'red',
-};
-
-function Loading() {
- let [loading, setLoading] = useState(true);
- let [color, setColor] = useState('#333333');
-
- return (
- <>
-
- >
- );
-}
-
-export default connect({
- mapStateToProps: (state) => ({}),
- component: React.memo(Loading),
-});
diff --git a/03_source/mobile.trunk.1/src/components/Menu.css b/03_source/mobile.trunk.1/src/components/Menu.css
deleted file mode 100644
index cee89be..0000000
--- a/03_source/mobile.trunk.1/src/components/Menu.css
+++ /dev/null
@@ -1,89 +0,0 @@
-ion-menu ion-content {
- --padding-top: 20px;
- --padding-bottom: 20px;
-
- --background: var(--ion-item-background, var(--ion-background-color, #fff));
-}
-
-/* Remove background transitions for switching themes */
-ion-menu ion-item {
- --transition: none;
-}
-
-ion-item.selected {
- --color: var(--ion-color-primary);
-}
-
-/*
- * Material Design Menu
-*/
-ion-menu.md ion-list {
- padding: 20px 0;
-}
-
-ion-menu.md ion-list-header {
- padding-left: 18px;
- padding-right: 18px;
-
- text-transform: uppercase;
- letter-spacing: 0.1em;
- font-size: min(0.875rem, 32px);
- font-weight: 450;
-}
-
-ion-menu.md ion-item {
- --padding-start: 18px;
-
- margin-right: 10px;
-
- border-radius: 0 50px 50px 0;
-
- font-weight: 500;
-}
-
-ion-menu.md ion-item.selected {
- --background: rgba(var(--ion-color-primary-rgb), 0.14);
-}
-
-ion-menu.md ion-item.selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.md ion-list-header,
-ion-menu.md ion-item ion-icon {
- color: var(--ion-color-step-650, #5f6368);
-}
-
-ion-menu.md ion-list:not(:last-of-type) {
- border-bottom: 1px solid var(--ion-color-step-150, #d7d8da);
-}
-
-
-/*
- * iOS Menu
-*/
-ion-menu.ios ion-list-header {
- padding-left: 16px;
- padding-right: 16px;
-
- margin-bottom: 8px;
- font-size: clamp(22px, 1.375rem, 40px);
-}
-
-ion-menu.ios ion-list {
- padding: 20px 0 0;
-}
-
-ion-menu.ios ion-item {
- --padding-start: 16px;
- --min-height: 50px;
-}
-
-ion-menu.ios ion-item ion-icon {
- font-size: 24px;
- color: #73849a;
-}
-
-ion-menu.ios ion-item.selected ion-icon {
- color: var(--ion-color-primary);
-}
diff --git a/03_source/mobile.trunk.1/src/components/Menu.tsx b/03_source/mobile.trunk.1/src/components/Menu.tsx
deleted file mode 100644
index 717b85e..0000000
--- a/03_source/mobile.trunk.1/src/components/Menu.tsx
+++ /dev/null
@@ -1,145 +0,0 @@
-import React from 'react';
-import { RouteComponentProps, withRouter, useLocation } from 'react-router';
-
-import {
- IonContent,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonListHeader,
- IonMenu,
- IonMenuToggle,
- IonToggle,
-} from '@ionic/react';
-import {
- calendarOutline,
- hammer,
- moonOutline,
- help,
- informationCircleOutline,
- logIn,
- logOut,
- mapOutline,
- peopleOutline,
- person,
- personAdd,
-} from 'ionicons/icons';
-
-import { connect } from '../data/connect';
-import { setDarkMode } from '../data/user/user.actions';
-
-import './Menu.css';
-
-const routes = {
- appPages: [
- { title: 'Schedule', path: '/tabs/schedule', icon: calendarOutline },
- { title: 'Speakers', path: '/tabs/speakers', icon: peopleOutline },
- { title: 'Map', path: '/tabs/map', icon: mapOutline },
- { title: 'About', path: '/tabs/about', icon: informationCircleOutline },
- ],
- loggedInPages: [
- { title: 'Account', path: '/account', icon: person },
- { title: 'Support', path: '/support', icon: help },
- { title: 'Logout', path: '/logout', icon: logOut },
- ],
- loggedOutPages: [
- { title: 'Login', path: '/login', icon: logIn },
- { title: 'Support', path: '/support', icon: help },
- { title: 'Signup', path: '/signup', icon: personAdd },
- ],
-};
-
-interface Pages {
- title: string;
- path: string;
- icon: string;
- routerDirection?: string;
-}
-interface StateProps {
- darkMode: boolean;
- isAuthenticated: boolean;
- menuEnabled: boolean;
-}
-
-interface DispatchProps {
- setDarkMode: typeof setDarkMode;
-}
-
-interface MenuProps extends RouteComponentProps, StateProps, DispatchProps {}
-
-const Menu: React.FC = ({
- darkMode,
- history,
- isAuthenticated,
- setDarkMode,
- menuEnabled,
-}) => {
- const location = useLocation();
-
- function renderlistItems(list: Pages[]) {
- return list
- .filter((route) => !!route.path)
- .map((p) => (
-
-
-
- {p.title}
-
-
- ));
- }
-
- return (
-
-
-
- Conference
- {renderlistItems(routes.appPages)}
-
-
- Account
- {isAuthenticated
- ? renderlistItems(routes.loggedInPages)
- : renderlistItems(routes.loggedOutPages)}
-
-
- setDarkMode(!darkMode)}>
- Dark Mode
-
-
-
-
- Tutorial
- {
- history.push('/tutorial');
- }}
- >
-
- Show Tutorial
-
-
-
-
- );
-};
-
-export default connect<{}, StateProps, {}>({
- mapStateToProps: (state) => ({
- darkMode: state.user.darkMode,
- isAuthenticated: state.user.isLoggedin,
- menuEnabled: state.data.menuEnabled,
- }),
- mapDispatchToProps: {
- setDarkMode,
- },
- component: withRouter(Menu),
-});
diff --git a/03_source/mobile.trunk.1/src/components/NoSavedEvents/alert-svgrepo-com.svg b/03_source/mobile.trunk.1/src/components/NoSavedEvents/alert-svgrepo-com.svg
deleted file mode 100644
index 4a975fe..0000000
--- a/03_source/mobile.trunk.1/src/components/NoSavedEvents/alert-svgrepo-com.svg
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
- alert
- Created with Sketch Beta.
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/components/NoSavedEvents/index.tsx b/03_source/mobile.trunk.1/src/components/NoSavedEvents/index.tsx
deleted file mode 100644
index 2b8a86e..0000000
--- a/03_source/mobile.trunk.1/src/components/NoSavedEvents/index.tsx
+++ /dev/null
@@ -1,78 +0,0 @@
-// REQ0088/favorite-event-empty
-
-import React, { CSSProperties, useState } from 'react';
-import { connect } from '../../data/connect';
-import { IonIcon, IonLoading } from '@ionic/react';
-import { GridLoader } from 'react-spinners';
-import { alertCircleOutline, alertOutline } from 'ionicons/icons';
-// import AlertSvg from './alert-svgrepo-com.svg';
-
-interface OwnProps {}
-
-interface StateProps {}
-
-interface DispatchProps {}
-
-const override: CSSProperties = {
- display: 'block',
- margin: '0 auto',
- borderColor: 'red',
-};
-
-function NoSavedEvents() {
- let [loading, setLoading] = useState(true);
- let [color, setColor] = useState('#333333');
-
- return (
- <>
-
-
-
-
-
-
You have not saved yet
-
- To add your favourites,
- simply take a look here
-
-
-
-
- >
- );
-}
-
-export default connect({
- mapStateToProps: (state) => ({}),
- component: React.memo(NoSavedEvents),
-});
diff --git a/03_source/mobile.trunk.1/src/components/RedirectToLogin.tsx b/03_source/mobile.trunk.1/src/components/RedirectToLogin.tsx
deleted file mode 100644
index ca86a65..0000000
--- a/03_source/mobile.trunk.1/src/components/RedirectToLogin.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-import React, { useEffect, useContext } from 'react';
-import { IonRouterContext } from '@ionic/react';
-
-interface RedirectToLoginProps {
- setIsLoggedIn: Function;
- setUsername: Function;
-}
-
-const RedirectToLogin: React.FC = ({ setIsLoggedIn, setUsername }) => {
- const ionRouterContext = useContext(IonRouterContext);
- useEffect(() => {
- setIsLoggedIn(false);
- setUsername(undefined);
- ionRouterContext.push('/tabs/events');
- }, [setIsLoggedIn, setUsername]);
- return null;
-};
-
-export default RedirectToLogin;
diff --git a/03_source/mobile.trunk.1/src/components/SessionList.tsx b/03_source/mobile.trunk.1/src/components/SessionList.tsx
deleted file mode 100644
index ac8f9fd..0000000
--- a/03_source/mobile.trunk.1/src/components/SessionList.tsx
+++ /dev/null
@@ -1,110 +0,0 @@
-import {
- IonItemDivider,
- IonItemGroup,
- IonLabel,
- IonList,
- IonListHeader,
- IonAlert,
- AlertButton,
-} from '@ionic/react';
-import React, { useState, useCallback, useRef, useEffect } from 'react';
-import { Schedule, Session } from '../models/Schedule';
-import SessionListItem from './SessionListItem';
-import { connect } from '../data/connect';
-import { addFavorite, removeFavorite } from '../data/sessions/sessions.actions';
-
-interface OwnProps {
- schedule: Schedule;
- listType: 'all' | 'favorites';
- hide: boolean;
-}
-
-interface StateProps {
- favoriteSessions: number[];
-}
-
-interface DispatchProps {
- addFavorite: typeof addFavorite;
- removeFavorite: typeof removeFavorite;
-}
-
-interface SessionListProps extends OwnProps, StateProps, DispatchProps {}
-
-const SessionList: React.FC = ({
- addFavorite,
- removeFavorite,
- favoriteSessions,
- hide,
- schedule,
- listType,
-}) => {
- const scheduleListRef = useRef(null);
- const [showAlert, setShowAlert] = useState(false);
- const [alertHeader, setAlertHeader] = useState('');
- const [alertMessage, setAlertMessage] = useState('');
- const [alertButtons, setAlertButtons] = useState<(AlertButton | string)[]>([]);
-
- const handleShowAlert = useCallback((header: string, message: string, buttons: AlertButton[]) => {
- setAlertHeader(header);
- setAlertMessage(message);
- setAlertButtons(buttons);
- setShowAlert(true);
- }, []);
-
- useEffect(() => {
- if (scheduleListRef.current) {
- scheduleListRef.current.closeSlidingItems();
- }
- }, [hide]);
-
- if (schedule.groups.length === 0 && !hide) {
- return (
-
- No Sessions Found
-
- );
- }
-
- return (
- <>
-
- {schedule.groups.map((group, index: number) => (
-
-
- {group.time}
-
- {group.sessions.map((session: Session, sessionIndex: number) => (
- -1}
- onAddFavorite={addFavorite}
- onRemoveFavorite={removeFavorite}
- key={`group-${index}-${sessionIndex}`}
- session={session}
- listType={listType}
- />
- ))}
-
- ))}
-
- setShowAlert(false)}
- >
- >
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- favoriteSessions: state.data.favorites,
- }),
- mapDispatchToProps: {
- addFavorite,
- removeFavorite,
- },
- component: SessionList,
-});
diff --git a/03_source/mobile.trunk.1/src/components/SessionListFilter.css b/03_source/mobile.trunk.1/src/components/SessionListFilter.css
deleted file mode 100644
index 4516c7a..0000000
--- a/03_source/mobile.trunk.1/src/components/SessionListFilter.css
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Material Design
- */
-
-.md .session-list-filter ion-toolbar ion-button {
- text-transform: capitalize;
- letter-spacing: 0;
-}
-
-.md .session-list-filter ion-checkbox {
- --checkbox-background-checked: transparent;
- --border-color: transparent;
- --border-color-checked: transparent;
- --checkmark-color: var(--ion-color-primary);
-}
-
-.md .session-list-filter ion-list {
- background: inherit;
-}
-
-/*
- * iOS
- */
-
-.ios .session-list-filter ion-list-header {
- margin-top: 10px;
-}
-
-.ios .session-list-filter ion-checkbox {
- color: var(--ion-color-primary);
-}
diff --git a/03_source/mobile.trunk.1/src/components/SessionListFilter.tsx b/03_source/mobile.trunk.1/src/components/SessionListFilter.tsx
deleted file mode 100644
index b6345c1..0000000
--- a/03_source/mobile.trunk.1/src/components/SessionListFilter.tsx
+++ /dev/null
@@ -1,155 +0,0 @@
-import React from 'react';
-
-import { getMode } from '@ionic/core';
-import {
- IonHeader,
- IonToolbar,
- IonButtons,
- IonButton,
- IonTitle,
- IonContent,
- IonList,
- IonListHeader,
- IonItem,
- IonLabel,
- IonCheckbox,
- IonFooter,
- IonIcon,
-} from '@ionic/react';
-import {
- logoReact,
- call,
- document,
- logoIonic,
- hammer,
- restaurant,
- cog,
- colorPalette,
- construct,
- compass,
-} from 'ionicons/icons';
-
-import './SessionListFilter.css';
-
-import { connect } from '../data/connect';
-import { updateFilteredTracks } from '../data/sessions/sessions.actions';
-
-interface OwnProps {
- onDismissModal: () => void;
-}
-
-interface StateProps {
- allTracks: string[];
- filteredTracks: string[];
-}
-
-interface DispatchProps {
- updateFilteredTracks: typeof updateFilteredTracks;
-}
-
-type SessionListFilterProps = OwnProps & StateProps & DispatchProps;
-
-const SessionListFilter: React.FC = ({
- allTracks,
- filteredTracks,
- onDismissModal,
- updateFilteredTracks,
-}) => {
- const ios = getMode() === 'ios';
-
- const toggleTrackFilter = (track: string) => {
- if (filteredTracks.indexOf(track) > -1) {
- updateFilteredTracks(filteredTracks.filter((x) => x !== track));
- } else {
- updateFilteredTracks([...filteredTracks, track]);
- }
- };
-
- const handleDeselectAll = () => {
- updateFilteredTracks([]);
- };
-
- const handleSelectAll = () => {
- updateFilteredTracks([...allTracks]);
- };
-
- const iconMap: { [key: string]: any } = {
- React: logoReact,
- Documentation: document,
- Food: restaurant,
- Ionic: logoIonic,
- Tooling: hammer,
- Design: colorPalette,
- Services: cog,
- Workshop: construct,
- Navigation: compass,
- Communication: call,
- };
-
- return (
- <>
-
-
-
- {ios && Cancel }
- {!ios && Reset }
-
-
- Filter Sessions
-
-
-
- Done
-
-
-
-
-
-
-
- Tracks
-
- {allTracks.map((track) => (
-
- {ios && (
-
- )}
- toggleTrackFilter(track)}
- checked={filteredTracks.indexOf(track) !== -1}
- color="primary"
- value={track}
- >
- {track}
-
-
- ))}
-
-
-
- {ios && (
-
-
-
- Deselect All
-
-
- Select All
-
-
-
- )}
- >
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- allTracks: state.data.allTracks,
- filteredTracks: state.data.filteredTracks,
- }),
- mapDispatchToProps: {
- updateFilteredTracks,
- },
- component: SessionListFilter,
-});
diff --git a/03_source/mobile.trunk.1/src/components/SessionListItem.tsx b/03_source/mobile.trunk.1/src/components/SessionListItem.tsx
deleted file mode 100644
index 32b3b25..0000000
--- a/03_source/mobile.trunk.1/src/components/SessionListItem.tsx
+++ /dev/null
@@ -1,106 +0,0 @@
-import React, { useRef } from 'react';
-import {
- IonItemSliding,
- IonItem,
- IonLabel,
- IonItemOptions,
- IonItemOption,
- AlertButton,
- useIonToast,
-} from '@ionic/react';
-import { Session } from '../models/Schedule';
-
-interface SessionListItemProps {
- session: Session;
- listType: 'all' | 'favorites';
- onAddFavorite: (id: number) => void;
- onRemoveFavorite: (id: number) => void;
- onShowAlert: (header: string, message: string, buttons: AlertButton[]) => void;
- isFavorite: boolean;
-}
-
-const SessionListItem: React.FC = ({
- isFavorite,
- onAddFavorite,
- onRemoveFavorite,
- onShowAlert,
- session,
- listType,
-}) => {
- const [presentToast] = useIonToast();
- const ionItemSlidingRef = useRef(null);
-
- const dismissAlert = () => {
- ionItemSlidingRef.current && ionItemSlidingRef.current.close();
- };
-
- const removeFavoriteSession = (title: string) => {
- onAddFavorite(session.id);
- onShowAlert(title, 'Would you like to remove this session from your favorites?', [
- {
- text: 'Cancel',
- handler: dismissAlert,
- },
- {
- text: 'Remove',
- handler: () => {
- onRemoveFavorite(session.id);
- dismissAlert();
- },
- },
- ]);
- };
-
- const addFavoriteSession = async () => {
- if (isFavorite) {
- // Prompt to remove favorite
- removeFavoriteSession('Favorite already added');
- } else {
- // Add as a favorite
- onAddFavorite(session.id);
-
- // Close the open item
- ionItemSlidingRef.current && ionItemSlidingRef.current.close();
-
- // Create a toast
- presentToast({
- message: `${session.name} was successfully added as a favorite.`,
- duration: 3000,
- buttons: [
- {
- text: 'Close',
- role: 'cancel',
- },
- ],
- });
- }
- };
-
- return (
-
-
-
- {session.name}
-
- {session.timeStart} —
- {session.timeEnd}:
- {session.location}
-
-
-
-
- {listType === 'favorites' ? (
- removeFavoriteSession('Remove Favorite')}>
- Remove
-
- ) : (
-
- Favorite
-
- )}
-
-
- );
-};
-
-export default React.memo(SessionListItem);
diff --git a/03_source/mobile.trunk.1/src/components/ShareSocialFab.tsx b/03_source/mobile.trunk.1/src/components/ShareSocialFab.tsx
deleted file mode 100644
index 210c66e..0000000
--- a/03_source/mobile.trunk.1/src/components/ShareSocialFab.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import { IonLoading, IonFab, IonFabButton, IonIcon, IonFabList } from '@ionic/react';
-import { shareSocial, logoVimeo, logoInstagram, logoTwitter, logoFacebook } from 'ionicons/icons';
-import React, { useState } from 'react';
-
-const ShareSocialFab: React.FC = () => {
- const [loadingMessage, setLoadingMessage] = useState('');
- const [showLoading, setShowLoading] = useState(false);
-
- const openSocial = (network: string) => {
- setLoadingMessage(`Posting to ${network}`);
- setShowLoading(true);
- };
-
- return (
- <>
- setShowLoading(false)}
- />
-
-
-
-
-
- openSocial('Vimeo')}>
-
-
- openSocial('Instagram')}>
-
-
- openSocial('Twitter')}>
-
-
- openSocial('Facebook')}>
-
-
-
-
- >
- );
-};
-
-export default ShareSocialFab;
diff --git a/03_source/mobile.trunk.1/src/components/SpeakerItem.tsx b/03_source/mobile.trunk.1/src/components/SpeakerItem.tsx
deleted file mode 100644
index 242a9df..0000000
--- a/03_source/mobile.trunk.1/src/components/SpeakerItem.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-import React from 'react';
-import { Session } from '../models/Schedule';
-import { Speaker } from '../models/Speaker';
-import {
- IonCard,
- IonCardHeader,
- IonItem,
- IonLabel,
- IonAvatar,
- IonCardContent,
- IonList,
-} from '@ionic/react';
-
-interface SpeakerItemProps {
- speaker: Speaker;
- sessions: Session[];
-}
-
-const SpeakerItem: React.FC = ({ speaker, sessions }) => {
- return (
- <>
-
-
-
-
-
-
-
- {speaker.name}
- {speaker.title}
-
-
-
-
-
-
- {sessions.map((session) => (
-
-
- {session.name}
-
-
- ))}
-
-
- About {speaker.name}
-
-
-
-
-
- >
- );
-};
-
-export default SpeakerItem;
diff --git a/03_source/mobile.trunk.1/src/constants.ts b/03_source/mobile.trunk.1/src/constants.ts
deleted file mode 100644
index b6f26ac..0000000
--- a/03_source/mobile.trunk.1/src/constants.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-const constants = { API_ENDPOINT: import.meta.env.VITE_API_ENDPOINT };
-
-export default constants;
diff --git a/03_source/mobile.trunk.1/src/context/action.tsx b/03_source/mobile.trunk.1/src/context/action.tsx
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/context/index.ts b/03_source/mobile.trunk.1/src/context/index.ts
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/context/jwt/action.tsx b/03_source/mobile.trunk.1/src/context/jwt/action.tsx
deleted file mode 100644
index e091237..0000000
--- a/03_source/mobile.trunk.1/src/context/jwt/action.tsx
+++ /dev/null
@@ -1,92 +0,0 @@
-import axios, { endpoints } from '../../lib/axios';
-
-import { setSession } from './utils';
-import { JWT_STORAGE_KEY } from './constant';
-
-// ----------------------------------------------------------------------
-
-export type SignInParams = {
- email: string;
- password: string;
-};
-
-export type SignUpParams = {
- email: string;
- password: string;
- firstName: string;
- lastName: string;
-};
-
-const ERR_ACCESS_TOKEN_NOT_FOUND = `Access token not found in response`;
-
-/** **************************************
- * Sign in
- *************************************** */
-export const signInWithPassword = async ({
- email,
- password,
-}: SignInParams): Promise => {
- try {
- const params = { email, password };
-
- const res = await axios.post(endpoints.auth.signIn, params);
-
- const { accessToken } = res.data;
-
- console.log({ t: res.data });
-
- if (!accessToken) {
- throw new Error(ERR_ACCESS_TOKEN_NOT_FOUND);
- }
-
- // setSession(accessToken);
- return accessToken;
- } catch (error) {
- console.error('Error during sign in:', error);
- throw error;
- }
-};
-
-/** **************************************
- * Sign up
- *************************************** */
-export const signUp = async ({
- email,
- password,
- firstName,
- lastName,
-}: SignUpParams): Promise => {
- const params = {
- email,
- password,
- firstName,
- lastName,
- };
-
- try {
- const res = await axios.post(endpoints.auth.signUp, params);
-
- const { accessToken } = res.data;
-
- if (!accessToken) {
- throw new Error('Access token not found in response');
- }
-
- sessionStorage.setItem(JWT_STORAGE_KEY, accessToken);
- } catch (error) {
- console.error('Error during sign up:', error);
- throw error;
- }
-};
-
-/** **************************************
- * Sign out
- *************************************** */
-export const signOut = async (): Promise => {
- try {
- await setSession(null);
- } catch (error) {
- console.error('Error during sign out:', error);
- throw error;
- }
-};
diff --git a/03_source/mobile.trunk.1/src/context/jwt/constant.ts b/03_source/mobile.trunk.1/src/context/jwt/constant.ts
deleted file mode 100644
index c9cb827..0000000
--- a/03_source/mobile.trunk.1/src/context/jwt/constant.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const JWT_STORAGE_KEY = 'jwt_access_token';
diff --git a/03_source/mobile.trunk.1/src/context/jwt/utils.tsx b/03_source/mobile.trunk.1/src/context/jwt/utils.tsx
deleted file mode 100644
index 6bdb963..0000000
--- a/03_source/mobile.trunk.1/src/context/jwt/utils.tsx
+++ /dev/null
@@ -1,97 +0,0 @@
-// import { paths } from 'src/routes/paths';
-
-import axios from '../../lib/axios';
-
-import { JWT_STORAGE_KEY } from './constant.js';
-import PATHS from '../../PATHS.js';
-
-// ----------------------------------------------------------------------
-
-export function jwtDecode(token: string) {
- try {
- if (!token) return null;
-
- const parts = token.split('.');
- if (parts.length < 2) {
- throw new Error('Invalid token!');
- }
-
- const base64Url = parts[1];
- const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
- const decoded = JSON.parse(atob(base64));
-
- return decoded;
- } catch (error) {
- console.error('Error decoding token:', error);
- throw error;
- }
-}
-
-// ----------------------------------------------------------------------
-
-export function isValidToken(accessToken: string) {
- if (!accessToken) {
- return false;
- }
-
- try {
- const decoded = jwtDecode(accessToken);
-
- if (!decoded || !('exp' in decoded)) {
- return false;
- }
-
- const currentTime = Date.now() / 1000;
-
- return decoded.exp > currentTime;
- } catch (error) {
- console.error('Error during token validation:', error);
- return false;
- }
-}
-
-// ----------------------------------------------------------------------
-
-export function tokenExpired(exp: number) {
- const currentTime = Date.now();
- const timeLeft = exp * 1000 - currentTime;
-
- setTimeout(() => {
- try {
- alert('Token expired!');
- sessionStorage.removeItem(JWT_STORAGE_KEY);
- window.location.href = PATHS.SIGN_IN;
- } catch (error) {
- console.error('Error during token expiration:', error);
- throw error;
- }
- }, timeLeft);
-}
-
-// ----------------------------------------------------------------------
-
-const INVALID_ACCESS_TOKEN = 'Invalid access token!';
-
-export async function setSession(accessToken: string | null) {
- try {
- if (accessToken) {
- sessionStorage.setItem(JWT_STORAGE_KEY, accessToken);
-
- axios.defaults.headers.common.Authorization = `Bearer ${accessToken}`;
-
- const decodedToken = jwtDecode(accessToken); // ~3 days by minimals server
-
- if (decodedToken && 'exp' in decodedToken) {
- tokenExpired(decodedToken.exp);
- } else {
- throw new Error(INVALID_ACCESS_TOKEN);
- }
- } else {
- sessionStorage.removeItem(JWT_STORAGE_KEY);
- delete axios.defaults.headers.common.Authorization;
- }
- } catch (error) {
- console.error('Error during set session:', error);
- throw error;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/data/AppContext.tsx b/03_source/mobile.trunk.1/src/data/AppContext.tsx
deleted file mode 100644
index d1375ad..0000000
--- a/03_source/mobile.trunk.1/src/data/AppContext.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import React, { createContext, PropsWithChildren, useReducer } from 'react';
-import { initialState, AppState, reducers } from './state';
-
-export interface AppContextState {
- state: AppState;
- dispatch: React.Dispatch;
-}
-
-export const AppContext = createContext({
- state: initialState,
- dispatch: () => undefined,
-});
-
-export const AppContextProvider: React.FC = ({ children }) => {
- const [store, dispatch] = useReducer(reducers, initialState);
-
- return (
-
- {children}
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/data/combineReducers.ts b/03_source/mobile.trunk.1/src/data/combineReducers.ts
deleted file mode 100644
index 44769b0..0000000
--- a/03_source/mobile.trunk.1/src/data/combineReducers.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-interface R {
- [key: string]: (...args: any) => any;
-}
-
-export function combineReducers(reducers: R) {
- type keys = keyof typeof reducers;
- type returnType = { [K in keys]: ReturnType<(typeof reducers)[K]> };
- const combinedReducer = (state: any, action: any) => {
- const newState: returnType = {} as any;
- const keys = Object.keys(reducers);
- keys.forEach((key) => {
- const result = reducers[key](state[key], action);
- newState[key as keys] = result || state[key];
- });
- return newState;
- };
- return combinedReducer;
-}
diff --git a/03_source/mobile.trunk.1/src/data/connect.tsx b/03_source/mobile.trunk.1/src/data/connect.tsx
deleted file mode 100644
index 8d6a24a..0000000
--- a/03_source/mobile.trunk.1/src/data/connect.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-import React, { useContext, useMemo } from 'react';
-import { AppContext } from './AppContext';
-import { DispatchObject } from '../util/types';
-import { AppState } from './state';
-
-interface ConnectParams {
- mapStateToProps?: (state: AppState, props: TOwnProps) => TStateProps;
- mapDispatchToProps?: TDispatchProps;
- component: React.ComponentType;
-}
-
-export function connect({
- mapStateToProps = () => ({}) as TStateProps,
- mapDispatchToProps = {} as TDispatchProps,
- component,
-}: ConnectParams): React.FunctionComponent {
- const Connect = (ownProps: TOwnProps) => {
- const context = useContext(AppContext);
-
- const dispatchFuncs = useMemo(() => {
- const dispatchFuncs: { [key: string]: any } = {};
- if (mapDispatchToProps) {
- Object.keys(mapDispatchToProps).forEach((key) => {
- const oldFunc = (mapDispatchToProps as any)[key];
- const newFunc = (...args: any) => {
- const dispatchFunc = oldFunc(...args);
- if (typeof dispatchFunc === 'object') {
- context.dispatch(dispatchFunc);
- } else {
- const result = dispatchFunc(context.dispatch);
- if (typeof result === 'object' && result.then) {
- result.then((dispatchObject?: DispatchObject) => {
- if (dispatchObject && dispatchObject.type) {
- context.dispatch(dispatchObject);
- }
- });
- }
- }
- };
- dispatchFuncs[key] = newFunc;
- });
- }
- return dispatchFuncs;
- // eslint-disable-next-line
- }, [mapDispatchToProps]);
-
- const props = useMemo(() => {
- return Object.assign({}, ownProps, mapStateToProps(context.state, ownProps), dispatchFuncs);
- // eslint-disable-next-line
- }, [ownProps, context.state]);
-
- return React.createElement(component, props);
- };
- return React.memo(Connect as any);
-}
diff --git a/03_source/mobile.trunk.1/src/data/dataApi.ts b/03_source/mobile.trunk.1/src/data/dataApi.ts
deleted file mode 100644
index e08558d..0000000
--- a/03_source/mobile.trunk.1/src/data/dataApi.ts
+++ /dev/null
@@ -1,151 +0,0 @@
-import { GetResult, Preferences as Storage } from '@capacitor/preferences';
-import { Schedule, Session } from '../models/Schedule';
-import { Speaker } from '../models/Speaker';
-import { Location } from '../models/Location';
-import axios from 'axios';
-import constants from '../constants';
-import { IOrderItem } from '../models/Order';
-import { Event } from '../models/Event';
-
-const dataUrl = '/assets/data/data.json';
-const locationsUrl = '/assets/data/locations.json';
-
-const HAS_LOGGED_IN = 'hasLoggedIn';
-const HAS_SEEN_TUTORIAL = 'hasSeenTutorial';
-const USERNAME = 'username';
-const ACCESS_TOKEN = 'a_token';
-const ACTIVE_SESSION = 'a_session';
-
-export const getConfData = async () => {
- const response = await Promise.all([
- fetch(dataUrl),
- fetch(locationsUrl),
- fetch(`${constants.API_ENDPOINT}/api/order/list`),
- fetch(`${constants.API_ENDPOINT}/api/event/list`),
- // axios.get(`${constants.API_ENDPOINT}/v1/events`),
- // axios.get(`${constants.API_ENDPOINT}/v1/members`),
- //
- ]);
-
- const responseData = await response[0].json();
- const schedule = responseData.schedule[0] as Schedule;
- const sessions = parseSessions(schedule);
- const speakers = responseData.speakers as Speaker[];
- const locations = (await response[1].json()) as Location[];
- const allTracks = sessions
- .reduce((all, session) => all.concat(session.tracks), [] as string[])
- .filter((trackName, index, array) => array.indexOf(trackName) === index)
- .sort();
-
- // const events = response[2].data;
- // const nearByMembers = response[3].data;
-
- // TODO: update this due to not use axios anymore
- // the data object is not available
- // const orders = response[2].data.orders as IOrderItem[];
- // const events = response[3].data.events as Event[];
- const orderResponse = response[2];
- let orders = {
- result: { status: orderResponse.status, ok: orderResponse.ok },
- data: [],
- };
- if (orderResponse.status == 200) {
- orders = { ...orders, data: await orderResponse.json() };
- }
-
- const eventResponse = response[3];
- let events = {
- result: { status: eventResponse.status, ok: eventResponse.ok },
- data: [],
- };
- if (eventResponse.status == 200) {
- events = { ...events, data: await eventResponse.json() };
- }
-
- const nearByMembers = [];
-
- const data = {
- schedule,
- sessions,
- locations,
- speakers,
- allTracks,
- filteredTracks: [...allTracks],
- //
- events,
- // nearByMembers,
- orders,
- hello: 'world',
- //
- };
-
- return data;
-};
-
-export const getUserData = async () => {
- const response = await Promise.all([
- Storage.get({ key: HAS_LOGGED_IN }),
- Storage.get({ key: HAS_SEEN_TUTORIAL }),
- Storage.get({ key: USERNAME }),
- ]);
- const isLoggedin = (await response[0].value) === 'true';
- const hasSeenTutorial = (await response[1].value) === 'true';
- const username = (await response[2].value) || undefined;
- const data = {
- isLoggedin,
- hasSeenTutorial,
- username,
- };
- return data;
-};
-
-export const setIsLoggedInData = async (isLoggedIn: boolean) => {
- await Storage.set({ key: HAS_LOGGED_IN, value: JSON.stringify(isLoggedIn) });
-};
-
-export const setHasSeenTutorialData = async (hasSeenTutorial: boolean) => {
- await Storage.set({
- key: HAS_SEEN_TUTORIAL,
- value: JSON.stringify(hasSeenTutorial),
- });
-};
-
-export const setUsernameData = async (username?: string) => {
- if (!username) {
- await Storage.remove({ key: USERNAME });
- } else {
- await Storage.set({ key: USERNAME, value: username });
- }
-};
-
-export const setAccessTokenData = async (accessToken?: string) => {
- if (!accessToken) {
- await Storage.remove({ key: ACCESS_TOKEN });
- } else {
- await Storage.set({ key: ACCESS_TOKEN, value: accessToken });
- }
-};
-
-export const getAccessTokenData = async (): Promise => {
- return Storage.get({ key: ACCESS_TOKEN });
-};
-
-function parseSessions(schedule: Schedule) {
- const sessions: Session[] = [];
- schedule.groups.forEach((g) => {
- g.sessions.forEach((s) => sessions.push(s));
- });
- return sessions;
-}
-
-export const setActiveSessionData = async (activeSession: any) => {
- if (!activeSession) {
- await Storage.remove({ key: ACTIVE_SESSION });
- } else {
- await Storage.set({ key: ACTIVE_SESSION, value: JSON.stringify(activeSession) });
- }
-};
-
-export const getActiveSessionData = async (): Promise => {
- return Storage.get({ key: JSON.parse(ACTIVE_SESSION) });
-};
diff --git a/03_source/mobile.trunk.1/src/data/locations/locations.actions.ts b/03_source/mobile.trunk.1/src/data/locations/locations.actions.ts
deleted file mode 100644
index 62071b4..0000000
--- a/03_source/mobile.trunk.1/src/data/locations/locations.actions.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { DispatchObject } from '../../util/types';
-import { Location } from '../../models/Location';
-
-export const SET_LOCATIONS = 'SET_LOCATIONS';
-
-export const setLocations = (locations: Location[]): DispatchObject => ({
- type: SET_LOCATIONS,
- payload: locations,
-});
-
-export const loadLocations = () => async (dispatch: (action: DispatchObject) => void) => {
- try {
- const response = await fetch('/assets/data/locations.json');
- const locations = await response.json();
- dispatch(setLocations(locations));
- } catch (error) {
- console.error('Error loading locations:', error);
- // Set default locations if data cannot be loaded
- dispatch(
- setLocations([
- {
- id: 1,
- name: 'Monona Terrace Convention Center',
- lat: 43.071584,
- lng: -89.38012,
- center: true,
- },
- ])
- );
- }
-};
diff --git a/03_source/mobile.trunk.1/src/data/locations/locations.reducer.ts b/03_source/mobile.trunk.1/src/data/locations/locations.reducer.ts
deleted file mode 100644
index 87cbf78..0000000
--- a/03_source/mobile.trunk.1/src/data/locations/locations.reducer.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import { LocationState, initialState } from '../../models/Location';
-import { SET_LOCATIONS } from './locations.actions';
-
-export const locationsReducer = (
- state: LocationState = initialState,
- action: { type: string; payload: any }
-): LocationState => {
- switch (action.type) {
- case SET_LOCATIONS:
- return {
- ...state,
- locations: action.payload,
- };
- default:
- return state;
- }
-};
diff --git a/03_source/mobile.trunk.1/src/data/selectors.ts b/03_source/mobile.trunk.1/src/data/selectors.ts
deleted file mode 100644
index 1b06acc..0000000
--- a/03_source/mobile.trunk.1/src/data/selectors.ts
+++ /dev/null
@@ -1,197 +0,0 @@
-import { createSelector } from 'reselect';
-import { Schedule, Session, ScheduleGroup } from '../models/Schedule';
-import { Speaker } from '../models/Speaker';
-import { Location } from '../models/Location';
-
-import { AppState } from './state';
-import { IOrderItem } from '../models/Order';
-import { Event } from '../models/Event';
-
-const getSchedule = (state: AppState) => {
- return state.data.schedule;
-};
-
-export const getSpeakers = (state: AppState) => state.data.speakers;
-
-const getSessions = (state: AppState) => state.data.sessions;
-const getFilteredTracks = (state: AppState) => state.data.filteredTracks;
-const getFavoriteIds = (state: AppState) => state.data.favorites;
-const getSearchText = (state: AppState) => state.data.searchText;
-
-export const getEvents = (state: AppState) => {
- return state.data.events;
-};
-
-export const getNearbyMembers = (state: AppState) => state.data.nearByMembers;
-
-export const getOrders = (state: AppState) => {
- return state.data.orders;
-};
-
-export const getFilteredSchedule = createSelector(
- getSchedule,
- getFilteredTracks,
- (schedule, filteredTracks) => {
- const groups: ScheduleGroup[] = [];
-
- // Helper function to convert 12-hour time to 24-hour time for proper sorting
- const convertTo24Hour = (timeStr: string) => {
- const [time, period] = timeStr.toLowerCase().split(' ');
- let [hours, minutes] = time.split(':').map(Number);
-
- if (period === 'pm' && hours !== 12) {
- hours += 12;
- } else if (period === 'am' && hours === 12) {
- hours = 0;
- }
-
- return `${hours.toString().padStart(2, '0')}:${minutes || '00'}`;
- };
-
- // Sort the groups by time
- const sortedGroups = [...schedule.groups].sort((a, b) => {
- const timeA = convertTo24Hour(a.time);
- const timeB = convertTo24Hour(b.time);
- return timeA.localeCompare(timeB);
- });
-
- sortedGroups.forEach((group: ScheduleGroup) => {
- const sessions: Session[] = [];
- group.sessions.forEach((session) => {
- session.tracks.forEach((track) => {
- if (filteredTracks.indexOf(track) > -1) {
- sessions.push(session);
- }
- });
- });
-
- if (sessions.length) {
- // Sort sessions within each group by start time
- const sortedSessions = sessions.sort((a, b) => {
- const timeA = convertTo24Hour(a.timeStart);
- const timeB = convertTo24Hour(b.timeStart);
- return timeA.localeCompare(timeB);
- });
-
- const groupToAdd: ScheduleGroup = {
- time: group.time,
- sessions: sortedSessions,
- };
- groups.push(groupToAdd);
- }
- });
-
- return {
- date: schedule.date,
- groups,
- } as Schedule;
- }
-);
-
-export const getSearchedSchedule = createSelector(
- getFilteredSchedule,
- getSearchText,
- (schedule, searchText) => {
- if (!searchText) {
- return schedule;
- }
- const groups: ScheduleGroup[] = [];
- schedule.groups.forEach((group) => {
- const sessions = group.sessions.filter(
- (s) => s.name.toLowerCase().indexOf(searchText.toLowerCase()) > -1
- );
- if (sessions.length) {
- const groupToAdd: ScheduleGroup = {
- time: group.time,
- sessions,
- };
- groups.push(groupToAdd);
- }
- });
- return {
- date: schedule.date,
- groups,
- } as Schedule;
- }
-);
-
-export const getScheduleList = createSelector(getSearchedSchedule, (schedule) => schedule);
-
-export const getGroupedFavorites = createSelector(
- getScheduleList,
- getFavoriteIds,
- (schedule, favoriteIds) => {
- const groups: ScheduleGroup[] = [];
- schedule.groups.forEach((group) => {
- const sessions = group.sessions.filter((s) => favoriteIds.indexOf(s.id) > -1);
- if (sessions.length) {
- const groupToAdd: ScheduleGroup = {
- time: group.time,
- sessions,
- };
- groups.push(groupToAdd);
- }
- });
- return {
- date: schedule.date,
- groups,
- } as Schedule;
- }
-);
-
-const getIdParam = (_state: AppState, props: any) => {
- return props.match.params['id'];
-};
-
-export const getSession = createSelector(getSessions, getIdParam, (sessions, id) => {
- return sessions.find((s: Session) => s.id === id);
-});
-
-export const getSpeaker = createSelector(getSpeakers, getIdParam, (speakers, id) =>
- speakers.find((x: Speaker) => x.id === id)
-);
-
-export const getEvent = createSelector(getEvents, getIdParam, (data_events, id) => {
- const {
- data: { events },
- } = data_events;
-
- return events.find((x: Event) => x.id === id);
-});
-
-export const getOrder = createSelector(getOrders, getIdParam, (data_orders, id) => {
- const {
- data: { orders },
- } = data_orders;
-
- return orders.find((x: IOrderItem) => x.id === id);
-});
-
-export const getSpeakerSessions = createSelector(getSessions, (sessions) => {
- const speakerSessions: { [key: string]: Session[] } = {};
-
- sessions.forEach((session: Session) => {
- session.speakerNames &&
- session.speakerNames.forEach((name) => {
- if (speakerSessions[name]) {
- speakerSessions[name].push(session);
- } else {
- speakerSessions[name] = [session];
- }
- });
- });
- return speakerSessions;
-});
-
-export const mapCenter = (state: AppState) => {
- const item = state.data.locations.find((l: Location) => l.id === state.data.mapCenterId);
- if (item == null) {
- return {
- id: 1,
- name: 'Map Center',
- lat: 43.071584,
- lng: -89.38012,
- };
- }
- return item;
-};
diff --git a/03_source/mobile.trunk.1/src/data/sessions/conf.state.ts b/03_source/mobile.trunk.1/src/data/sessions/conf.state.ts
deleted file mode 100644
index 94d5c80..0000000
--- a/03_source/mobile.trunk.1/src/data/sessions/conf.state.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { Location } from '../../models/Location';
-import { Speaker } from '../../models/Speaker';
-import { Schedule, Session } from '../../models/Schedule';
-//
-import { Event } from '../../models/Event';
-import { IOrderItem } from '../../models/Order';
-
-export interface ConfState {
- schedule: Schedule;
- sessions: Session[];
- speakers: Speaker[];
- favorites: number[];
- locations: Location[];
- filteredTracks: string[];
- searchText?: string;
- mapCenterId?: number;
- loading?: boolean;
- allTracks: string[];
- menuEnabled: boolean;
- //
- events: Event[];
- orders: IOrderItem[];
-}
diff --git a/03_source/mobile.trunk.1/src/data/sessions/orders.actions.ts b/03_source/mobile.trunk.1/src/data/sessions/orders.actions.ts
deleted file mode 100644
index 38fec72..0000000
--- a/03_source/mobile.trunk.1/src/data/sessions/orders.actions.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { getConfData } from '../dataApi';
-import { ActionType } from '../../util/types';
-import { ConfState } from './conf.state';
-
-export const loadConfData = () => async (dispatch: React.Dispatch) => {
- dispatch(setLoading(true));
- const data = await getConfData();
- dispatch(setData(data));
- dispatch(setLoading(false));
-};
-
-export const setLoading = (isLoading: boolean) =>
- ({
- type: 'set-conf-loading',
- isLoading,
- }) as const;
-
-export const setData = (data: Partial) =>
- ({
- type: 'set-conf-data',
- data,
- }) as const;
-
-export const addFavorite = (sessionId: number) =>
- ({
- type: 'add-favorite',
- sessionId,
- }) as const;
-
-export const removeFavorite = (sessionId: number) =>
- ({
- type: 'remove-favorite',
- sessionId,
- }) as const;
-
-export const updateFilteredTracks = (filteredTracks: string[]) =>
- ({
- type: 'update-filtered-tracks',
- filteredTracks,
- }) as const;
-
-export const setSearchText = (searchText?: string) =>
- ({
- type: 'set-search-text',
- searchText,
- }) as const;
-
-export const setMenuEnabled = (menuEnabled: boolean) =>
- ({
- type: 'set-menu-enabled',
- menuEnabled,
- }) as const;
-
-export type OrdersActions =
- | ActionType
- | ActionType
- | ActionType
- | ActionType
- | ActionType
- | ActionType
- | ActionType;
diff --git a/03_source/mobile.trunk.1/src/data/sessions/orders.reducer.ts b/03_source/mobile.trunk.1/src/data/sessions/orders.reducer.ts
deleted file mode 100644
index 3687bc0..0000000
--- a/03_source/mobile.trunk.1/src/data/sessions/orders.reducer.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { OrdersActions } from './orders.actions';
-import { ConfState } from './conf.state';
-
-export const orderReducer = (state: ConfState, action: OrdersActions): ConfState => {
- switch (action.type) {
- case 'set-conf-loading': {
- return { ...state, loading: action.isLoading };
- }
- case 'set-conf-data': {
- return { ...state, ...action.data };
- }
- case 'add-favorite': {
- return { ...state, favorites: [...state.favorites, action.sessionId] };
- }
- case 'remove-favorite': {
- return {
- ...state,
- favorites: [...state.favorites.filter((x) => x !== action.sessionId)],
- };
- }
- case 'update-filtered-tracks': {
- return { ...state, filteredTracks: action.filteredTracks };
- }
- case 'set-search-text': {
- return { ...state, searchText: action.searchText };
- }
- case 'set-menu-enabled': {
- return { ...state, menuEnabled: action.menuEnabled };
- }
- }
-};
diff --git a/03_source/mobile.trunk.1/src/data/sessions/sessions.actions.ts b/03_source/mobile.trunk.1/src/data/sessions/sessions.actions.ts
deleted file mode 100644
index b4badfb..0000000
--- a/03_source/mobile.trunk.1/src/data/sessions/sessions.actions.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { getConfData } from '../dataApi';
-import { ActionType } from '../../util/types';
-import { ConfState } from './conf.state';
-
-export const loadConfData = () => async (dispatch: React.Dispatch) => {
- dispatch(setLoading(true));
- const data = await getConfData();
- dispatch(setData(data));
- dispatch(setLoading(false));
-};
-
-export const setLoading = (isLoading: boolean) =>
- ({
- type: 'set-conf-loading',
- isLoading,
- }) as const;
-
-export const setData = (data: Partial) =>
- ({
- type: 'set-conf-data',
- data,
- }) as const;
-
-export const addFavorite = (sessionId: number) =>
- ({
- type: 'add-favorite',
- sessionId,
- }) as const;
-
-export const removeFavorite = (sessionId: number) =>
- ({
- type: 'remove-favorite',
- sessionId,
- }) as const;
-
-export const updateFilteredTracks = (filteredTracks: string[]) =>
- ({
- type: 'update-filtered-tracks',
- filteredTracks,
- }) as const;
-
-export const setSearchText = (searchText?: string) =>
- ({
- type: 'set-search-text',
- searchText,
- }) as const;
-
-export const setMenuEnabled = (menuEnabled: boolean) =>
- ({
- type: 'set-menu-enabled',
- menuEnabled,
- }) as const;
-
-export type SessionsActions =
- | ActionType
- | ActionType
- | ActionType
- | ActionType
- | ActionType
- | ActionType
- | ActionType;
diff --git a/03_source/mobile.trunk.1/src/data/sessions/sessions.reducer.ts b/03_source/mobile.trunk.1/src/data/sessions/sessions.reducer.ts
deleted file mode 100644
index 3540821..0000000
--- a/03_source/mobile.trunk.1/src/data/sessions/sessions.reducer.ts
+++ /dev/null
@@ -1,31 +0,0 @@
-import { SessionsActions } from './sessions.actions';
-import { ConfState } from './conf.state';
-
-export const sessionsReducer = (state: ConfState, action: SessionsActions): ConfState => {
- switch (action.type) {
- case 'set-conf-loading': {
- return { ...state, loading: action.isLoading };
- }
- case 'set-conf-data': {
- return { ...state, ...action.data };
- }
- case 'add-favorite': {
- return { ...state, favorites: [...state.favorites, action.sessionId] };
- }
- case 'remove-favorite': {
- return {
- ...state,
- favorites: [...state.favorites.filter((x) => x !== action.sessionId)],
- };
- }
- case 'update-filtered-tracks': {
- return { ...state, filteredTracks: action.filteredTracks };
- }
- case 'set-search-text': {
- return { ...state, searchText: action.searchText };
- }
- case 'set-menu-enabled': {
- return { ...state, menuEnabled: action.menuEnabled };
- }
- }
-};
diff --git a/03_source/mobile.trunk.1/src/data/state.ts b/03_source/mobile.trunk.1/src/data/state.ts
deleted file mode 100644
index 0680912..0000000
--- a/03_source/mobile.trunk.1/src/data/state.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import { combineReducers } from './combineReducers';
-//
-import { sessionsReducer } from './sessions/sessions.reducer';
-import { userReducer } from './user/user.reducer';
-import { locationsReducer } from './locations/locations.reducer';
-//
-import { orderReducer } from './sessions/orders.reducer';
-
-export const initialState: AppState = {
- data: {
- schedule: { groups: [] } as any,
- sessions: [],
- speakers: [],
- favorites: [],
- locations: [],
- allTracks: [],
- filteredTracks: [],
- mapCenterId: 0,
- loading: false,
- menuEnabled: true,
- //
- events: [],
- nearbyMembers: [],
- orders: [],
- },
- user: {
- hasSeenTutorial: false,
- darkMode: false,
- isLoggedin: false,
- loading: false,
- //
- isSessionValid: false,
- },
- locations: {
- locations: [],
- },
-};
-
-export const reducers = combineReducers({
- data: sessionsReducer,
- user: userReducer,
- locations: locationsReducer,
- //
- order: orderReducer,
-});
-
-export type AppState = ReturnType;
diff --git a/03_source/mobile.trunk.1/src/data/user/user.actions.ts b/03_source/mobile.trunk.1/src/data/user/user.actions.ts
deleted file mode 100644
index fd303fb..0000000
--- a/03_source/mobile.trunk.1/src/data/user/user.actions.ts
+++ /dev/null
@@ -1,132 +0,0 @@
-import {
- getUserData,
- setIsLoggedInData,
- setUsernameData,
- setHasSeenTutorialData,
- setAccessTokenData,
- getAccessTokenData,
- setActiveSessionData,
-} from '../dataApi';
-import { ActionType } from '../../util/types';
-import { UserState } from './user.state';
-import { isValidToken } from '../../context/jwt/utils';
-import axios from 'axios';
-import { endpoints } from '../../pages/MyLogin/endpoints';
-
-export const loadUserData = () => async (dispatch: React.Dispatch) => {
- dispatch(setLoading(true));
-
- const data = await getUserData();
- dispatch(setData(data));
-
- dispatch(setLoading(false));
-};
-
-export const setLoading = (isLoading: boolean) =>
- ({
- type: 'set-user-loading',
- isLoading,
- }) as const;
-
-export const setData = (data: Partial) =>
- ({
- type: 'set-user-data',
- data,
- }) as const;
-
-export const logoutUser = () => async (dispatch: React.Dispatch) => {
- //
- await setIsLoggedInData(false);
- dispatch(setUsername());
-};
-
-export const setIsLoggedIn = (loggedIn: boolean) => async (dispatch: React.Dispatch) => {
- await setIsLoggedInData(loggedIn);
- return {
- type: 'set-is-loggedin',
- loggedIn,
- } as const;
-};
-
-export const setUsername = (username?: string) => async (dispatch: React.Dispatch) => {
- await setUsernameData(username);
- console.log('setUsername triggered');
-
- return {
- type: 'set-username',
- username,
- } as const;
-};
-
-export const setAccessToken = (token?: string) => async (dispatch: React.Dispatch) => {
- await setAccessTokenData(token);
-
- return {
- type: 'set-access-token',
- token,
- } as const;
-};
-
-export const setActiveSession = (session: any) => async (dispatch: React.Dispatch) => {
- await setActiveSessionData(session);
- return {
- type: 'set-active-session',
- session,
- } as const;
-};
-
-export const checkUserSession = () => async (dispatch: React.Dispatch) => {
- let accessToken = (await getAccessTokenData()).value;
- console.log('check user session');
- let sessionValid = false;
-
- try {
- if (accessToken && isValidToken(accessToken)) {
- const res = await axios.get(endpoints.auth.me, {
- headers: { Authorization: `Bearer ${accessToken}` },
- });
-
- const { user } = res.data;
-
- setActiveSession({ user: { ...user, accessToken }, loading: false });
- sessionValid = true;
- console.log('session valid');
- } else {
- setActiveSession({ user: null, loading: false });
- console.log('session not valid');
- }
- } catch (error) {
- console.error(error);
- setActiveSession({ user: null, loading: false });
- }
-
- return {
- type: 'check-user-session',
- sessionValid,
- } as const;
-};
-
-export const setHasSeenTutorial =
- (hasSeenTutorial: boolean) => async (dispatch: React.Dispatch) => {
- await setHasSeenTutorialData(hasSeenTutorial);
- return {
- type: 'set-has-seen-tutorial',
- hasSeenTutorial,
- } as const;
- };
-
-export const setDarkMode = (darkMode: boolean) =>
- ({
- type: 'set-dark-mode',
- darkMode,
- }) as const;
-
-export type UserActions =
- | ActionType
- | ActionType
- | ActionType
- | ActionType
- | ActionType
- | ActionType
- | ActionType
- | ActionType;
diff --git a/03_source/mobile.trunk.1/src/data/user/user.reducer.ts b/03_source/mobile.trunk.1/src/data/user/user.reducer.ts
deleted file mode 100644
index f6e6acb..0000000
--- a/03_source/mobile.trunk.1/src/data/user/user.reducer.ts
+++ /dev/null
@@ -1,23 +0,0 @@
-import { UserActions } from './user.actions';
-import { UserState } from './user.state';
-
-export function userReducer(state: UserState, action: UserActions): UserState {
- switch (action.type) {
- case 'set-user-loading':
- return { ...state, loading: action.isLoading };
- case 'set-user-data':
- return { ...state, ...action.data };
- case 'set-username':
- return { ...state, username: action.username };
- case 'set-has-seen-tutorial':
- return { ...state, hasSeenTutorial: action.hasSeenTutorial };
- case 'set-dark-mode':
- return { ...state, darkMode: action.darkMode };
- case 'set-is-loggedin':
- return { ...state, isLoggedin: action.loggedIn };
- case 'set-access-token':
- return { ...state, token: action.token };
- case 'check-user-session':
- return { ...state, isSessionValid: action.sessionValid };
- }
-}
diff --git a/03_source/mobile.trunk.1/src/data/user/user.state.ts b/03_source/mobile.trunk.1/src/data/user/user.state.ts
deleted file mode 100644
index 56e5666..0000000
--- a/03_source/mobile.trunk.1/src/data/user/user.state.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-export interface UserState {
- loading: boolean;
- username?: string;
- hasSeenTutorial: boolean;
- darkMode: boolean;
- isLoggedin: boolean;
- isSessionValid: boolean;
- session?: any;
- token?: string;
-}
diff --git a/03_source/mobile.trunk.1/src/declarations.ts b/03_source/mobile.trunk.1/src/declarations.ts
deleted file mode 100644
index dbe667a..0000000
--- a/03_source/mobile.trunk.1/src/declarations.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export interface AppPage {
- url: string;
- icon: object;
- title: string;
-}
diff --git a/03_source/mobile.trunk.1/src/global-config.ts b/03_source/mobile.trunk.1/src/global-config.ts
deleted file mode 100644
index 71b4f35..0000000
--- a/03_source/mobile.trunk.1/src/global-config.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export const CONFIG = {
- serverUrl: '',
-};
diff --git a/03_source/mobile.trunk.1/src/hooks/use-set-state.ts b/03_source/mobile.trunk.1/src/hooks/use-set-state.ts
deleted file mode 100644
index f820bd2..0000000
--- a/03_source/mobile.trunk.1/src/hooks/use-set-state.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-/**
- * Custom hook to manage state with utility functions to set state, set a specific field, and reset state.
- *
- * @param {T} initialState - The initial state value.
- *
- * @returns {UseSetStateReturn} - An object containing:
- * - `state`: The current state.
- * - `resetState`: A function to reset the state to the initial value.
- * - `setState`: A function to update the state.
- * - `setField`: A function to update a specific field in the state.
- *
- * @example
- * const { state, setState, setField, resetState } = useSetState({ name: '', age: 0 });
- *
- * return (
- *
- *
Name: {state.name}
- *
Age: {state.age}
- *
setField('name', 'John')}>Set Name
- *
Reset
- *
- * );
- */
-type UseSetStateReturn = {
- state: T;
- resetState: (defaultState?: T) => void;
- setState: (updateState: T | Partial) => void;
- setField: (name: keyof T, updateValue: T[keyof T]) => void;
-};
-declare function useSetState(initialState?: T): UseSetStateReturn;
-
-export { type UseSetStateReturn, useSetState };
diff --git a/03_source/mobile.trunk.1/src/main.tsx b/03_source/mobile.trunk.1/src/main.tsx
deleted file mode 100644
index 964b804..0000000
--- a/03_source/mobile.trunk.1/src/main.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import React from 'react';
-import ReactDOM from 'react-dom/client';
-import App from './App';
-import * as serviceWorker from './serviceWorker';
-
-ReactDOM.createRoot(document.getElementById('root') as HTMLElement).render(
-
-
-
-);
-// If you want your app to work offline and load faster, you can change
-// unregister() to register() below. Note this comes with some pitfalls.
-// Learn more about service workers: https://bit.ly/CRA-PWA
-serviceWorker.register();
diff --git a/03_source/mobile.trunk.1/src/models/Event.ts b/03_source/mobile.trunk.1/src/models/Event.ts
deleted file mode 100644
index 31ac548..0000000
--- a/03_source/mobile.trunk.1/src/models/Event.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-// 03_source/mobile/src/models/Event.ts
-
-export type IDateValue = string | number | null;
-
-export interface Event {
- id: string;
- createdAt: IDateValue;
- updatedAt: IDateValue;
- //
- name: string;
- code: string;
- price: number;
- //
- eventDate: Date;
- joinMembers: { email: string; avatar: string; sex: string }[];
- title: string;
- currency: string;
- duration_m: number;
- ageBottom: number;
- ageTop: number;
- location: string;
- avatar: string;
- //
-}
diff --git a/03_source/mobile.trunk.1/src/models/Location.ts b/03_source/mobile.trunk.1/src/models/Location.ts
deleted file mode 100644
index 9bc6d77..0000000
--- a/03_source/mobile.trunk.1/src/models/Location.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-export interface Location {
- id: number;
- name: string;
- lat: number;
- lng: number;
- center?: boolean;
-}
-
-export interface LocationState {
- locations: Location[];
-}
-
-export const initialState: LocationState = {
- locations: [],
-};
diff --git a/03_source/mobile.trunk.1/src/models/Order.ts b/03_source/mobile.trunk.1/src/models/Order.ts
deleted file mode 100644
index 6d4b184..0000000
--- a/03_source/mobile.trunk.1/src/models/Order.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-export type IDateValue = string | number | null;
-
-export type IOrderProductItem = {
- id: string;
- sku: string;
- name: string;
- price: number;
- coverUrl: string;
- quantity: number;
-};
-
-export type IOrderHistory = {
- orderTime: IDateValue;
- paymentTime: IDateValue;
- deliveryTime: IDateValue;
- completionTime: IDateValue;
- timeline: { title: string; time: IDateValue }[];
-};
-
-export type IOrderDelivery = {
- shipBy: string;
- speedy: string;
- trackingNumber: string;
-};
-
-export type IOrderShippingAddress = {
- fullAddress: string;
- phoneNumber: string;
-};
-
-export type IOrderPayment = {
- cardType: string;
- cardNumber: string;
-};
-
-export interface IOrderItem {
- id: string;
- createdAt: IDateValue;
- updatedAt: IDateValue;
- //
- taxes: number;
- status: string;
- shipping: number;
- discount: number;
- subtotal: number;
- orderNumber: string;
- totalAmount: number;
- totalQuantity: number;
- //
- items: IOrderProductItem[];
- history: IOrderHistory | undefined;
- delivery: IOrderDelivery;
- shippingAddress: IOrderShippingAddress;
- payment: IOrderPayment;
-}
diff --git a/03_source/mobile.trunk.1/src/models/Schedule.ts b/03_source/mobile.trunk.1/src/models/Schedule.ts
deleted file mode 100644
index f210ff8..0000000
--- a/03_source/mobile.trunk.1/src/models/Schedule.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-export interface Schedule {
- date: string;
- groups: ScheduleGroup[];
-}
-
-export interface ScheduleGroup {
- time: string;
- sessions: Session[];
-}
-
-export interface Session {
- id: number;
- timeStart: string;
- timeEnd: string;
- name: string;
- location: string;
- description: string;
- speakerNames: string[];
- tracks: string[];
-}
diff --git a/03_source/mobile.trunk.1/src/models/SessionGroup.ts b/03_source/mobile.trunk.1/src/models/SessionGroup.ts
deleted file mode 100644
index 93d46ad..0000000
--- a/03_source/mobile.trunk.1/src/models/SessionGroup.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { Session } from './Schedule';
-export interface SessionGroup {
- startTime: string;
- sessions: Session[];
-}
diff --git a/03_source/mobile.trunk.1/src/models/Speaker.ts b/03_source/mobile.trunk.1/src/models/Speaker.ts
deleted file mode 100644
index 35d8c78..0000000
--- a/03_source/mobile.trunk.1/src/models/Speaker.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-export interface Speaker {
- id: number;
- name: string;
- profilePic: string;
- twitter: string;
- instagram: string;
- about: string;
- title: string;
- location: string;
- email: string;
- phone: string;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/About.scss b/03_source/mobile.trunk.1/src/pages/About.scss
deleted file mode 100644
index f7d1ac0..0000000
--- a/03_source/mobile.trunk.1/src/pages/About.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url("/assets/img/about/madison.jpg");
- }
-
- .about-header .austin {
- background-image: url("/assets/img/about/austin.jpg");
- }
-
- .about-header .chicago {
- background-image: url("/assets/img/about/chicago.jpg");
- }
-
- .about-header .seattle {
- background-image: url("/assets/img/about/seattle.jpg");
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/About.tsx b/03_source/mobile.trunk.1/src/pages/About.tsx
deleted file mode 100644
index f7416ad..0000000
--- a/03_source/mobile.trunk.1/src/pages/About.tsx
+++ /dev/null
@@ -1,156 +0,0 @@
-import React, { useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonButton,
- IonIcon,
- IonDatetime,
- IonSelectOption,
- IonList,
- IonItem,
- IonLabel,
- IonSelect,
- IonPopover,
- IonText,
-} from '@ionic/react';
-import './About.scss';
-import { ellipsisHorizontal, ellipsisVertical } from 'ionicons/icons';
-import AboutPopover from '../components/AboutPopover';
-import { format, parseISO } from 'date-fns';
-
-interface AboutProps {}
-
-const About: React.FC = () => {
- const [showPopover, setShowPopover] = useState(false);
- const [popoverEvent, setPopoverEvent] = useState();
- const [location, setLocation] = useState<'madison' | 'austin' | 'chicago' | 'seattle'>('madison');
- const [conferenceDate, setConferenceDate] = useState('2047-05-17T00:00:00-05:00');
-
- const selectOptions = {
- header: 'Select a Location',
- };
-
- const presentPopover = (e: React.MouseEvent) => {
- setPopoverEvent(e.nativeEvent);
- setShowPopover(true);
- };
-
- function displayDate(date: string, dateFormat: string) {
- return format(parseISO(date), dateFormat);
- }
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/* Instead of loading an image each time the select changes, use opacity to transition them */}
-
-
-
-
-
-
-
About
-
-
- The Ionic Conference is a one-day event happening on{' '}
- {displayDate(conferenceDate, 'MMM dd, yyyy')}, featuring talks from the Ionic team. The
- conference focuses on building applications with Ionic Framework, including topics such
- as app migration to the latest version, React best practices, Webpack, Sass, and other
- technologies commonly used in the Ionic ecosystem. Tickets are completely sold out, and
- we're expecting over 1,000 developers — making this the largest Ionic conference to
- date!
-
-
-
Details
-
-
-
- setLocation(e.detail.value as any)}
- >
- Madison, WI
- Austin, TX
- Chicago, IL
- Seattle, WA
-
-
-
- Date
- {displayDate(conferenceDate, 'MMM dd, yyyy')}
-
- setConferenceDate(e.detail.value! as string)}
- presentation="date"
- >
-
-
-
-
-
Internet
-
-
-
- Wifi network
- ica{displayDate(conferenceDate, 'y')}
-
-
- Password
- makegoodthings
-
-
-
-
-
- setShowPopover(false)}
- >
- setShowPopover(false)} />
-
-
- );
-};
-
-export default React.memo(About);
diff --git a/03_source/mobile.trunk.1/src/pages/Account.scss b/03_source/mobile.trunk.1/src/pages/Account.scss
deleted file mode 100644
index e3c2761..0000000
--- a/03_source/mobile.trunk.1/src/pages/Account.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-#account-page {
- img {
- max-width: 140px;
- border-radius: 50%;
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/Account.tsx b/03_source/mobile.trunk.1/src/pages/Account.tsx
deleted file mode 100644
index 7c74df4..0000000
--- a/03_source/mobile.trunk.1/src/pages/Account.tsx
+++ /dev/null
@@ -1,101 +0,0 @@
-import React, { useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonList,
- IonItem,
- IonAlert,
-} from '@ionic/react';
-import './Account.scss';
-import { setUsername } from '../data/user/user.actions';
-import { connect } from '../data/connect';
-import { RouteComponentProps } from 'react-router';
-
-interface OwnProps extends RouteComponentProps {}
-
-interface StateProps {
- username?: string;
-}
-
-interface DispatchProps {
- setUsername: typeof setUsername;
-}
-
-interface AccountProps extends OwnProps, StateProps, DispatchProps {}
-
-const Account: React.FC = ({ setUsername, username }) => {
- const [showAlert, setShowAlert] = useState(false);
-
- const clicked = (text: string) => {
- console.log(`Clicked ${text}`);
- };
-
- return (
-
-
-
-
-
-
- Account
-
-
-
- {username && (
-
-
-
{username}
-
- clicked('Update Picture')}>Update Picture
- setShowAlert(true)}>Change Username
- clicked('Change Password')}>Change Password
-
- Support
-
-
- Logout
-
-
-
- )}
-
- {
- setUsername(data.username);
- },
- },
- ]}
- inputs={[
- {
- type: 'text',
- name: 'username',
- value: username,
- placeholder: 'username',
- },
- ]}
- onDidDismiss={() => setShowAlert(false)}
- />
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- username: state.user.username,
- }),
- mapDispatchToProps: {
- setUsername,
- },
- component: Account,
-});
diff --git a/03_source/mobile.trunk.1/src/pages/ChangeLanguage/index.tsx b/03_source/mobile.trunk.1/src/pages/ChangeLanguage/index.tsx
deleted file mode 100644
index 6fd288a..0000000
--- a/03_source/mobile.trunk.1/src/pages/ChangeLanguage/index.tsx
+++ /dev/null
@@ -1,246 +0,0 @@
-// REQ0041/home_discover_event_tab
-
-import React, { useEffect, useRef, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonGrid,
- IonRow,
- IonCol,
- useIonRouter,
- IonButton,
- IonIcon,
- IonPopover,
- IonAvatar,
- IonImg,
- IonItem,
- IonLabel,
- IonList,
- IonModal,
- IonSearchbar,
- useIonModal,
- IonInput,
- IonRefresher,
- IonRefresherContent,
- RefresherEventDetail,
- IonToast,
- useIonToast,
-} from '@ionic/react';
-import SpeakerItem from '../../components/SpeakerItem';
-import { Speaker } from '../../models/Speaker';
-import { Session } from '../../models/Schedule';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-import '../SpeakerList.scss';
-import { getEvents } from '../../api/getEvents';
-import { format } from 'date-fns';
-
-// import { Event } from './types';
-interface Event {
- eventDate: Date;
- joinMembers: undefined;
- title: string;
- price: number;
- currency: string;
- duration_m: number;
- ageBottom: number;
- ageTop: number;
- location: string;
- avatar: string;
- //
- id: string;
-}
-
-import {
- checkmarkOutline,
- chevronBackOutline,
- chevronDownCircleOutline,
- closeOutline,
- heart,
- languageOutline,
- menuOutline,
-} from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-import Loading from '../../components/Loading';
-
-interface OwnProps {}
-
-interface StateProps {
- events: Event[];
-}
-
-interface DispatchProps {}
-
-interface SpeakerListProps extends OwnProps, StateProps, DispatchProps {}
-
-const EventList: React.FC = ({ events }) => {
- const modal = useRef(null);
-
- const router = useIonRouter();
-
- function handleShowPartyEventDetail(event_id: string) {
- router.push(`/event_detail/${event_id}`);
- }
-
- function handleRefresh(event: CustomEvent) {
- setTimeout(() => {
- // Any calls to load data go here
- event.detail.complete();
- }, 2000);
- }
-
- const [confirmChangeLanguage, setConfirmChangeLanguage] = useState(false);
-
- function handleChangeToChinese() {
- setConfirmChangeLanguage(true);
- }
-
- function handleChangeToEnglish() {
- setConfirmChangeLanguage(true);
- }
-
- function handleChangeToJapanese() {
- setConfirmChangeLanguage(true);
- }
-
- function handleApplyChangeLanguage() {
- setConfirmChangeLanguage(false);
- }
-
- function handleBackClick() {
- router.goBack();
- }
-
- function handleCancelChangeLanguage() {
- setConfirmChangeLanguage(false);
- }
-
- const [present] = useIonToast();
-
- const presentToast = () => {
- present({
- message: 'sorry but the function not yet implemented!',
- duration: 1500,
- position: 'bottom',
- });
-
- setConfirmChangeLanguage(false);
- };
-
- if (!events || events.length == 0) return ;
-
- return (
-
-
-
-
- {/* */}
-
-
-
-
-
-
- Change Language
-
-
-
-
-
-
-
- Change Language
-
-
-
-
-
- Chinese
-
-
- English
-
-
- Japanese
-
-
-
-
- {/* REQ0079/event-filter */}
- setConfirmChangeLanguage(false)}
- >
-
-
-
- Confirm change language
-
-
- Change language to Chinese
-
-
-
-
- No
-
-
-
- Yes
-
-
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- events: selectors.getEvents(state),
- }),
- component: React.memo(EventList),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/ChangeLanguage/style.scss b/03_source/mobile.trunk.1/src/pages/ChangeLanguage/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/ChangeLanguage/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/NOTES.md b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/NOTES.md
deleted file mode 100644
index a1700c9..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/NOTES.md
+++ /dev/null
@@ -1,13 +0,0 @@
----
-tags: mobile
----
-
-# REQ0119/demo-2fa-example
-
-## description
-
-This is the Ionic implementation example of two-factor authentication (2FA) demonstrating various authentication flows and UI components.
-
-## relation
-
--
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/Keypad.module.scss b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/Keypad.module.scss
deleted file mode 100644
index 38c85a2..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/Keypad.module.scss
+++ /dev/null
@@ -1,5 +0,0 @@
-.keypad {
- bottom: 0;
- position: absolute;
- width: 100%;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/Keypad.tsx b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/Keypad.tsx
deleted file mode 100644
index f7927f0..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/Keypad.tsx
+++ /dev/null
@@ -1,118 +0,0 @@
-import { IonRow } from '@ionic/react';
-import styles from './Keypad.module.scss';
-import KeypadButton from './KeypadButton';
-
-const Keypad = (props: any): JSX.Element => {
- const { activeIndex, handleClick, handleRemove, amount, correct } = props;
-
- const keypadButtons = [
- [
- {
- value: '1',
- handleClick: () => handleClick(activeIndex, 1),
- small: false,
- remove: false,
- },
- {
- value: '2',
- handleClick: () => handleClick(activeIndex, 2),
- small: false,
- remove: false,
- },
- {
- value: '3',
- handleClick: () => handleClick(activeIndex, 3),
- small: false,
- remove: false,
- },
- ],
- [
- {
- value: '4',
- handleClick: () => handleClick(activeIndex, 4),
- small: false,
- remove: false,
- },
- {
- value: '5',
- handleClick: () => handleClick(activeIndex, 5),
- small: false,
- remove: false,
- },
- {
- value: '6',
- handleClick: () => handleClick(activeIndex, 6),
- small: false,
- remove: false,
- },
- ],
- [
- {
- value: '7',
- handleClick: () => handleClick(activeIndex, 7),
- small: false,
- remove: false,
- },
- {
- value: '8',
- handleClick: () => handleClick(activeIndex, 8),
- small: false,
- remove: false,
- },
- {
- value: '9',
- handleClick: () => handleClick(activeIndex, 9),
- small: false,
- remove: false,
- },
- ],
- [
- {
- value: 'Resend',
- handleClick: () => handleClick(activeIndex, 1),
- small: true,
- remove: false,
- },
- {
- value: '0',
- handleClick: () => handleClick(activeIndex, 2),
- small: false,
- remove: false,
- },
- {
- value: '',
- handleClick: () => handleRemove(),
- small: true,
- remove: true,
- },
- ],
- ];
-
- return (
-
- {keypadButtons.map((keypadRow, index) => {
- const isDisabled = parseInt(activeIndex) === parseInt(amount);
-
- return (
-
- {keypadRow.map((button, index2) => {
- return (
-
- );
- })}
-
- );
- })}
-
- );
-};
-
-export default Keypad;
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadButton.module.scss b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadButton.module.scss
deleted file mode 100644
index 400a722..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadButton.module.scss
+++ /dev/null
@@ -1,30 +0,0 @@
-.logo {
- height: 4rem;
- width: auto;
-}
-
-.keypadButton {
- --background: none;
- --color: black;
- font-size: 2rem;
- font-weight: 700;
- --outline: none;
- --border: none;
- --box-shadow: none;
- padding: none;
- margin: none;
- --background-hover: rgb(245, 245, 245) !important;
- --background-focused: rgb(245, 245, 245) !important;
- --background-activated: rgb(245, 245, 245) !important;
-}
-
-.smallKeypadButton {
- font-size: 1.4rem;
- margin-top: 1rem;
-}
-
-.keypad {
- bottom: 0;
- position: absolute;
- width: 100%;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadButton.tsx b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadButton.tsx
deleted file mode 100644
index 1188e6f..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadButton.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { IonButton, IonCol, IonIcon } from '@ionic/react';
-import { backspaceOutline } from 'ionicons/icons';
-import styles from './KeypadButton.module.scss';
-
-const KeypadButton = (props: any): JSX.Element => {
- const { small, value, remove, handleClick, isDisabled = false, correct } = props;
-
- return (
-
-
- {!remove && value}
- {remove && }
-
-
- );
-};
-
-export default KeypadButton;
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadInput.module.scss b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadInput.module.scss
deleted file mode 100644
index c54a1b8..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadInput.module.scss
+++ /dev/null
@@ -1,38 +0,0 @@
-.keypadInput {
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-content: center;
- align-items: center;
- font-size: 2.5rem;
- width: 100%;
- min-height: 2.5rem;
- background-color: rgb(245, 245, 245);
- border-radius: 4px;
- color: rgb(207, 207, 207);
- transition: 0.2s linear;
-}
-
-.active {
- background-color: rgba(26, 150, 251, 0.2);
- border: 0 !important;
- color: white !important;
- transition: 0.2s linear;
-}
-
-.filled {
- color: rgb(151, 151, 151);
- transition: 0.2s linear;
-}
-
-.incorrect {
- background-color: rgba(251, 26, 26, 0.2);
- color: rgb(218, 67, 67);
- transition: 0.2s linear;
-}
-
-.correct {
- background-color: rgba(26, 251, 120, 0.2);
- color: rgb(67, 218, 112);
- transition: 0.2s linear;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadInput.tsx b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadInput.tsx
deleted file mode 100644
index 7d6f476..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadInput.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { IonCol } from '@ionic/react';
-import styles from './KeypadInput.module.scss';
-
-const KeypadInput = (props: any): JSX.Element => {
- const { value, isActive = false, isFilled = false, incorrect, correct } = props;
-
- return (
-
-
- {value}
- {!isFilled && '0'}
-
-
- );
-};
-
-export default KeypadInput;
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadInputs.tsx b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadInputs.tsx
deleted file mode 100644
index d0c1788..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/components/KeypadInputs.tsx
+++ /dev/null
@@ -1,50 +0,0 @@
-import { IonRow } from '@ionic/react';
-import { useEffect, useRef } from 'react';
-import KeypadInput from './KeypadInput';
-
-const KeypadInputs = (props: any): JSX.Element => {
- const { values, activeIndex, incorrect, correct } = props;
- const keypadRef = useRef(null);
-
- useEffect(() => {
- if (incorrect && keypadRef.current) {
- keypadRef.current.classList.add('incorrect');
-
- setTimeout(() => {
- if (keypadRef.current) {
- keypadRef.current.classList.remove('incorrect');
- }
- }, 1000);
- }
- }, [incorrect]);
-
- useEffect(() => {
- if (correct) {
- if (keypadRef.current) {
- keypadRef.current.classList.add('correct');
- }
- }
- }, [correct]);
-
- return (
-
- {values.map((value: string, index: number) => {
- const isActive = parseInt(index.toString()) === parseInt(activeIndex);
- const isFilled = value !== '' ? true : false;
-
- return (
-
- );
- })}
-
- );
-};
-
-export default KeypadInputs;
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/index.tsx b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/index.tsx
deleted file mode 100644
index d91e0db..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/index.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-// REQ0119/demo-2fa-example
-//
-// RULES:
-// T.B.A.
-//
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-import Home from './pages/Home';
-
-function Demo2FaExample() {
- return (
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default Demo2FaExample;
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/pages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/pages/Home.module.scss
deleted file mode 100644
index 3d0a7fe..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/pages/Home.module.scss
+++ /dev/null
@@ -1,30 +0,0 @@
-.logo {
- height: 4rem;
- width: auto;
-}
-
-.incorrect {
- color: rgb(218, 67, 67);
-}
-
-.successContainer {
-}
-
-.successText {
- background-color: rgba(26, 251, 120, 0.2);
- color: rgb(67, 218, 112);
- padding: 1rem;
-}
-
-.successContinue {
- font-weight: 700;
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-content: center;
- align-items: center;
-}
-
-.successContinue ion-icon {
- margin-top: 0.2rem;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/pages/Home.tsx
deleted file mode 100644
index 1cd7885..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/pages/Home.tsx
+++ /dev/null
@@ -1,135 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonImg,
- IonPage,
- IonRow,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { arrowForwardOutline, chevronBackOutline } from 'ionicons/icons';
-import styles from './Home.module.scss';
-import KeypadInputs from '../components/KeypadInputs';
-import Keypad from '../components/Keypad';
-import { JSX, useEffect, useRef, useState } from 'react';
-
-const Home = (): JSX.Element => {
- const correctCode = [5, 9, 2, 5];
- const [keypadValues, setKeypadValues] = useState(['', '', '', '']);
- const [activeIndex, setActiveIndex] = useState(0);
- const successRef = useRef(null);
-
- const [incorrect, setIncorrect] = useState(false);
- const [correct, setCorrect] = useState(false);
-
- const tempValues: { [key: string]: any } = {};
-
- const handleClick = (index: number, value: any) => {
- const stringKey = index.toString();
- tempValues[stringKey] = value;
-
- setKeypadValues(value);
- setActiveIndex((activeIndex) => activeIndex + 1);
- };
-
- const handleRemove = () => {
- const tempValues = [...keypadValues];
- tempValues[activeIndex - 1] = '';
-
- setKeypadValues(tempValues);
- activeIndex > 0 && setActiveIndex((activeIndex) => activeIndex - 1);
- setIncorrect(false);
- setCorrect(false);
- };
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- useEffect(() => {
- if (parseInt(activeIndex.toString()) === parseInt(keypadValues.length.toString())) {
- var error = false;
-
- keypadValues.forEach((value, index) => {
- if (parseInt(value) !== parseInt(correctCode[index].toString())) {
- error = true;
- return false;
- }
- });
-
- if (error) {
- setIncorrect(true);
- } else {
- setCorrect(true);
-
- setTimeout(() => {
- if (successRef.current) {
- successRef.current.classList.remove('hidden');
- successRef.current.classList.add('success');
- }
- }, 900);
- }
- }
- }, [activeIndex]);
-
- return (
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
- Verification required
- Enter your 4 digit verification code
-
-
-
-
-
-
- Awesome! You may continue.
-
-
- Continue
-
-
-
-
-
-
-
- {incorrect && Wrong code entered
}
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/Demo2FaExample/theme/variables.scss
deleted file mode 100644
index dc5200e..0000000
--- a/03_source/mobile.trunk.1/src/pages/Demo2FaExample/theme/variables.scss
+++ /dev/null
@@ -1,249 +0,0 @@
-.demo-2fa-example {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- * {
- font-family: 'Lato', sans-serif;
- }
-
- .hidden {
- display: none;
- transition: 0.2s linear;
- }
-
- /** Ionic CSS Variables **/
- :root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-
- .incorrect {
- -webkit-animation: incorrect-animation 0.9s both;
- animation: incorrect-animation 0.9s both;
- }
-
- @-webkit-keyframes incorrect-animation {
- 0% {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-
- 30% {
- -webkit-transform: scale3d(1.25, 0.75, 1);
- transform: scale3d(1.25, 0.75, 1);
- }
-
- 40% {
- -webkit-transform: scale3d(0.75, 1.25, 1);
- transform: scale3d(0.75, 1.25, 1);
- }
-
- 50% {
- -webkit-transform: scale3d(1.15, 0.85, 1);
- transform: scale3d(1.15, 0.85, 1);
- }
-
- 65% {
- -webkit-transform: scale3d(0.95, 1.05, 1);
- transform: scale3d(0.95, 1.05, 1);
- }
-
- 75% {
- -webkit-transform: scale3d(1.05, 0.95, 1);
- transform: scale3d(1.05, 0.95, 1);
- }
-
- 100% {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
- }
-
- @keyframes incorrect-animation {
- 0% {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
-
- 30% {
- -webkit-transform: scale3d(1.25, 0.75, 1);
- transform: scale3d(1.25, 0.75, 1);
- }
-
- 40% {
- -webkit-transform: scale3d(0.75, 1.25, 1);
- transform: scale3d(0.75, 1.25, 1);
- }
-
- 50% {
- -webkit-transform: scale3d(1.15, 0.85, 1);
- transform: scale3d(1.15, 0.85, 1);
- }
-
- 65% {
- -webkit-transform: scale3d(0.95, 1.05, 1);
- transform: scale3d(0.95, 1.05, 1);
- }
-
- 75% {
- -webkit-transform: scale3d(1.05, 0.95, 1);
- transform: scale3d(1.05, 0.95, 1);
- }
-
- 100% {
- -webkit-transform: scale3d(1, 1, 1);
- transform: scale3d(1, 1, 1);
- }
- }
-
- .correct {
- -webkit-animation: correct-animation 1s ease-in both;
- animation: correct-animation 1s ease-in both;
- }
-
- @-webkit-keyframes correct-animation {
- 0% {
- -webkit-transform: translateY(0) rotateX(0) scale(1);
- transform: translateY(0) rotateX(0) scale(1);
- -webkit-transform-origin: 50% 1400px;
- transform-origin: 50% 1400px;
- opacity: 1;
- }
-
- 100% {
- -webkit-transform: translateY(-600px) rotateX(-30deg) scale(0);
- transform: translateY(-600px) rotateX(-30deg) scale(0);
- -webkit-transform-origin: 50% 100%;
- transform-origin: 50% 100%;
- opacity: 1;
- }
- }
-
- @keyframes correct-animation {
- 0% {
- -webkit-transform: translateY(0) rotateX(0) scale(1);
- transform: translateY(0) rotateX(0) scale(1);
- -webkit-transform-origin: 50% 1400px;
- transform-origin: 50% 1400px;
- opacity: 1;
- }
-
- 100% {
- -webkit-transform: translateY(-600px) rotateX(-30deg) scale(0);
- transform: translateY(-600px) rotateX(-30deg) scale(0);
- -webkit-transform-origin: 50% 100%;
- transform-origin: 50% 100%;
- opacity: 1;
- }
- }
-
- .success {
- -webkit-animation: success-animation 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
- animation: success-animation 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
- }
-
- @-webkit-keyframes success-animation {
- 0% {
- -webkit-transform: translateY(-600px) rotateX(-30deg) scale(0);
- transform: translateY(-600px) rotateX(-30deg) scale(0);
- -webkit-transform-origin: 50% 100%;
- transform-origin: 50% 100%;
- opacity: 0;
- }
-
- 100% {
- -webkit-transform: translateY(0) rotateX(0) scale(1);
- transform: translateY(0) rotateX(0) scale(1);
- -webkit-transform-origin: 50% 1400px;
- transform-origin: 50% 1400px;
- opacity: 1;
- }
- }
-
- @keyframes success-animation {
- 0% {
- -webkit-transform: translateY(-600px) rotateX(-30deg) scale(0);
- transform: translateY(-600px) rotateX(-30deg) scale(0);
- -webkit-transform-origin: 50% 100%;
- transform-origin: 50% 100%;
- opacity: 0;
- }
-
- 100% {
- -webkit-transform: translateY(0) rotateX(0) scale(1);
- transform: translateY(0) rotateX(0) scale(1);
- -webkit-transform-origin: 50% 1400px;
- transform-origin: 50% 1400px;
- opacity: 1;
- }
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/AppPages/Tab1.jsx
deleted file mode 100644
index 54ab2b9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../components/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/AppPages/Tab2.jsx
deleted file mode 100644
index 216544f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/NOTES.md
deleted file mode 100644
index a746fff..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0120
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/Accordion.jsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/Accordion.jsx
deleted file mode 100644
index c679c72..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/Accordion.jsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { IonAccordion, IonAccordionGroup, IonIcon, IonItem, IonLabel, IonList } from '@ionic/react';
-import { topics } from '../data';
-
-export const Accordion = () => {
- return (
-
- {topics.map((topic, index) => {
- return (
-
-
-
- {topic.header}
-
-
-
- {topic.options.map((option, index2) => {
- return (
-
- {option.label}
-
- );
- })}
-
-
- );
- })}
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/Accordion.tsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/Accordion.tsx
deleted file mode 100644
index 7e495fa..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/Accordion.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import { IonAccordion, IonAccordionGroup, IonIcon, IonItem, IonLabel, IonList } from '@ionic/react';
-import { topics } from '../data';
-import React from 'react';
-
-export const Accordion: React.FC = () => {
- return (
-
- {topics.map((topic: any, index: number) => {
- return (
-
-
-
- {topic.header}
-
-
-
- {topic.options.map((option: any, index2: number) => {
- return (
-
- {option.label}
-
- );
- })}
-
-
- );
- })}
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/components/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/data.js b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/data.js
deleted file mode 100644
index 30389eb..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/data.js
+++ /dev/null
@@ -1,126 +0,0 @@
-import {
- bicycleOutline,
- fastFoodOutline,
- filmOutline,
- gameControllerOutline,
- libraryOutline,
-} from 'ionicons/icons';
-
-export const topics = [
- {
- header: 'Attractions',
- color: 'primary',
- icon: filmOutline,
- options: [
- {
- label: 'Cinema',
- },
- {
- label: 'Bowling Alley',
- },
- {
- label: 'Crazy Golf',
- },
- {
- label: 'Theme Park',
- },
- ],
- },
- {
- header: 'Dining',
- color: 'success',
- icon: fastFoodOutline,
- options: [
- {
- label: 'Breakfast & Brunch',
- },
- {
- label: 'New American',
- },
- {
- label: 'Sushi Bars',
- },
- {
- label: 'Filipino Food',
- },
- {
- label: 'Asian Fusion',
- },
- {
- label: 'Ramen Houses',
- },
- {
- label: 'Dinner Venues',
- },
- ],
- },
- {
- header: 'Gaming',
- color: 'warning',
- icon: gameControllerOutline,
- options: [
- {
- label: 'Xbox',
- },
- {
- label: 'Playstation',
- },
- {
- label: 'Nintendo Switch',
- },
- {
- label: 'PC',
- },
- {
- label: 'Mobile',
- },
- {
- label: 'Dreamcast',
- },
- ],
- },
- {
- header: 'Exercise',
- color: 'secondary',
- icon: bicycleOutline,
- options: [
- {
- label: 'Yoga',
- },
- {
- label: 'Pilates',
- },
- {
- label: 'Weight Training',
- },
- {
- label: 'Cardio',
- },
- {
- label: 'Zumba',
- },
- ],
- },
- {
- header: 'Education',
- color: 'danger',
- icon: libraryOutline,
- options: [
- {
- label: 'School',
- },
- {
- label: 'High School',
- },
- {
- label: 'University Bachelors',
- },
- {
- label: 'University Masters',
- },
- {
- label: 'University pHD',
- },
- ],
- },
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/data.ts b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/data.ts
deleted file mode 100644
index 10fb915..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/data.ts
+++ /dev/null
@@ -1,126 +0,0 @@
-import {
- bicycleOutline,
- fastFoodOutline,
- filmOutline,
- gameControllerOutline,
- libraryOutline,
-} from 'ionicons/icons';
-
-export const topics: any = [
- {
- header: 'Attractions',
- color: 'primary',
- icon: filmOutline,
- options: [
- {
- label: 'Cinema',
- },
- {
- label: 'Bowling Alley',
- },
- {
- label: 'Crazy Golf',
- },
- {
- label: 'Theme Park',
- },
- ],
- },
- {
- header: 'Dining',
- color: 'success',
- icon: fastFoodOutline,
- options: [
- {
- label: 'Breakfast & Brunch',
- },
- {
- label: 'New American',
- },
- {
- label: 'Sushi Bars',
- },
- {
- label: 'Filipino Food',
- },
- {
- label: 'Asian Fusion',
- },
- {
- label: 'Ramen Houses',
- },
- {
- label: 'Dinner Venues',
- },
- ],
- },
- {
- header: 'Gaming',
- color: 'warning',
- icon: gameControllerOutline,
- options: [
- {
- label: 'Xbox',
- },
- {
- label: 'Playstation',
- },
- {
- label: 'Nintendo Switch',
- },
- {
- label: 'PC',
- },
- {
- label: 'Mobile',
- },
- {
- label: 'Dreamcast',
- },
- ],
- },
- {
- header: 'Exercise',
- color: 'secondary',
- icon: bicycleOutline,
- options: [
- {
- label: 'Yoga',
- },
- {
- label: 'Pilates',
- },
- {
- label: 'Weight Training',
- },
- {
- label: 'Cardio',
- },
- {
- label: 'Zumba',
- },
- ],
- },
- {
- header: 'Education',
- color: 'danger',
- icon: libraryOutline,
- options: [
- {
- label: 'School',
- },
- {
- label: 'High School',
- },
- {
- label: 'University Bachelors',
- },
- {
- label: 'University Masters',
- },
- {
- label: 'University pHD',
- },
- ],
- },
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/index.tsx
deleted file mode 100644
index 1cbb174..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/index.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-// REQ0119/demo-accordion-tutorial
-//
-// RULES:
-// T.B.A.
-//
-
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import Topic from './pages/Topic';
-import Home from './pages/Home';
-
-import './style.scss';
-
-function DemoAccordionTutorial() {
- return (
-
-
- {/*
-
-
-
-
-
-
- */}
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
- {/*
-
-
-
- Dashboard
-
-
-
- Search
-
-
- */}
-
- );
-}
-
-export default DemoAccordionTutorial;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Home.css b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Home.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Home.jsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Home.jsx
deleted file mode 100644
index a0add98..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Home.jsx
+++ /dev/null
@@ -1,97 +0,0 @@
-import {
- IonAccordion,
- IonAccordionGroup,
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { Accordion } from '../components/Accordion';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Home = () => {
- const router = useIonRouter();
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Accordion
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Accordion
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- {/*
-
-
- Languages
-
-
-
-
- English
-
-
- Spanish
-
-
- Italian
-
-
-
-
-
-
- Languages 2
-
-
-
-
- English
-
-
- Spanish
-
-
- Italian
-
-
-
- */}
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Home.tsx
deleted file mode 100644
index 65a2e4a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Home.tsx
+++ /dev/null
@@ -1,97 +0,0 @@
-import {
- IonAccordion,
- IonAccordionGroup,
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { Accordion } from '../components/Accordion';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Home: React.FC = () => {
- const router = useIonRouter();
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Accordion
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Accordion
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- {/*
-
-
- Languages
-
-
-
-
- English
-
-
- Spanish
-
-
- Italian
-
-
-
-
-
-
- Languages 2
-
-
-
-
- English
-
-
- Spanish
-
-
- Italian
-
-
-
- */}
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Topic.jsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Topic.jsx
deleted file mode 100644
index 0e82926..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Topic.jsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import {
- IonBackButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonLabel,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useParams } from 'react-router';
-
-const Topic = () => {
- const { topic } = useParams();
-
- return (
-
-
-
-
-
-
-
- {topic}
-
-
-
-
-
- {topic}
-
-
-
-
-
-
- This is the page for the topic: {topic}.
-
-
-
-
-
- );
-};
-
-export default Topic;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Topic.tsx b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Topic.tsx
deleted file mode 100644
index 54c48e7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/pages/Topic.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import {
- IonBackButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonLabel,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useParams } from 'react-router';
-
-const Topic = () => {
- const { topic } = useParams<{ topic: string }>();
-
- return (
-
-
-
-
-
-
-
- {topic}
-
-
-
-
-
- {topic}
-
-
-
-
-
-
- This is the page for the topic: {topic}.
-
-
-
-
-
- );
-};
-
-export default Topic;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/style.scss b/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/style.scss
deleted file mode 100644
index d12d506..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoAccordionTutorial/style.scss
+++ /dev/null
@@ -1,237 +0,0 @@
-.demo-accordion-tutorial {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- /** Ionic CSS Variables **/
- * {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-
- @media (prefers-color-scheme: dark) {
- /*
- * Dark Colors
- * -------------------------------------------
- */
-
- body {
- --ion-color-primary: #428cff;
- --ion-color-primary-rgb: 66, 140, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3a7be0;
- --ion-color-primary-tint: #5598ff;
-
- --ion-color-secondary: #50c8ff;
- --ion-color-secondary-rgb: 80, 200, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #46b0e0;
- --ion-color-secondary-tint: #62ceff;
-
- --ion-color-tertiary: #6a64ff;
- --ion-color-tertiary-rgb: 106, 100, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #5d58e0;
- --ion-color-tertiary-tint: #7974ff;
-
- --ion-color-success: #2fdf75;
- --ion-color-success-rgb: 47, 223, 117;
- --ion-color-success-contrast: #000000;
- --ion-color-success-contrast-rgb: 0, 0, 0;
- --ion-color-success-shade: #29c467;
- --ion-color-success-tint: #44e283;
-
- --ion-color-warning: #ffd534;
- --ion-color-warning-rgb: 255, 213, 52;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0bb2e;
- --ion-color-warning-tint: #ffd948;
-
- --ion-color-danger: #ff4961;
- --ion-color-danger-rgb: 255, 73, 97;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #e04055;
- --ion-color-danger-tint: #ff5b71;
-
- --ion-color-dark: #f4f5f8;
- --ion-color-dark-rgb: 244, 245, 248;
- --ion-color-dark-contrast: #000000;
- --ion-color-dark-contrast-rgb: 0, 0, 0;
- --ion-color-dark-shade: #d7d8da;
- --ion-color-dark-tint: #f5f6f9;
-
- --ion-color-medium: #989aa2;
- --ion-color-medium-rgb: 152, 154, 162;
- --ion-color-medium-contrast: #000000;
- --ion-color-medium-contrast-rgb: 0, 0, 0;
- --ion-color-medium-shade: #86888f;
- --ion-color-medium-tint: #a2a4ab;
-
- --ion-color-light: #222428;
- --ion-color-light-rgb: 34, 36, 40;
- --ion-color-light-contrast: #ffffff;
- --ion-color-light-contrast-rgb: 255, 255, 255;
- --ion-color-light-shade: #1e2023;
- --ion-color-light-tint: #383a3e;
- }
-
- /*
- * iOS Dark Theme
- * -------------------------------------------
- */
-
- .ios body {
- --ion-background-color: #000000;
- --ion-background-color-rgb: 0, 0, 0;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-color-step-50: #0d0d0d;
- --ion-color-step-100: #1a1a1a;
- --ion-color-step-150: #262626;
- --ion-color-step-200: #333333;
- --ion-color-step-250: #404040;
- --ion-color-step-300: #4d4d4d;
- --ion-color-step-350: #595959;
- --ion-color-step-400: #666666;
- --ion-color-step-450: #737373;
- --ion-color-step-500: #808080;
- --ion-color-step-550: #8c8c8c;
- --ion-color-step-600: #999999;
- --ion-color-step-650: #a6a6a6;
- --ion-color-step-700: #b3b3b3;
- --ion-color-step-750: #bfbfbf;
- --ion-color-step-800: #cccccc;
- --ion-color-step-850: #d9d9d9;
- --ion-color-step-900: #e6e6e6;
- --ion-color-step-950: #f2f2f2;
-
- --ion-item-background: #000000;
-
- --ion-card-background: #1c1c1d;
- }
-
- .ios ion-modal {
- --ion-background-color: var(--ion-color-step-100);
- --ion-toolbar-background: var(--ion-color-step-150);
- --ion-toolbar-border-color: var(--ion-color-step-250);
- }
-
- /*
- * Material Design Dark Theme
- * -------------------------------------------
- */
-
- .md body {
- --ion-background-color: #121212;
- --ion-background-color-rgb: 18, 18, 18;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-border-color: #222222;
-
- --ion-color-step-50: #1e1e1e;
- --ion-color-step-100: #2a2a2a;
- --ion-color-step-150: #363636;
- --ion-color-step-200: #414141;
- --ion-color-step-250: #4d4d4d;
- --ion-color-step-300: #595959;
- --ion-color-step-350: #656565;
- --ion-color-step-400: #717171;
- --ion-color-step-450: #7d7d7d;
- --ion-color-step-500: #898989;
- --ion-color-step-550: #949494;
- --ion-color-step-600: #a0a0a0;
- --ion-color-step-650: #acacac;
- --ion-color-step-700: #b8b8b8;
- --ion-color-step-750: #c4c4c4;
- --ion-color-step-800: #d0d0d0;
- --ion-color-step-850: #dbdbdb;
- --ion-color-step-900: #e7e7e7;
- --ion-color-step-950: #f3f3f3;
-
- --ion-item-background: #1e1e1e;
-
- --ion-toolbar-background: #1f1f1f;
-
- --ion-tab-bar-background: #1f1f1f;
-
- --ion-card-background: #1e1e1e;
- }
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/AppPages/Tab1.jsx
deleted file mode 100644
index 54ab2b9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../components/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/AppPages/Tab2.jsx
deleted file mode 100644
index 216544f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/NOTES.md
deleted file mode 100644
index 54c3e76..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0121
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CardSlide.jsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CardSlide.jsx
deleted file mode 100644
index 40f29e0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CardSlide.jsx
+++ /dev/null
@@ -1,97 +0,0 @@
-import { IonButton, IonCardSubtitle, IonCol, IonIcon, IonList, IonRow } from '@ionic/react';
-import DebitCard from './DebitCard';
-
-import styles from './CardSlide.module.css';
-import TransactionItem from './TransactionItem';
-import { addOutline, arrowRedoOutline } from 'ionicons/icons';
-import { formatBalance } from '../data/Utils';
-
-const CardSlide = (props) => {
- const { index, card, profile } = props;
-
- return (
- <>
-
-
- balance
-
- £
- {formatBalance(card.balance)}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Transactions
-
-
-
- {card.transactions.length > 0 && (
-
-
-
- {card.transactions.length > 0 &&
- card.transactions
- .slice(0)
- .reverse()
- .map((transaction, index) => (
-
- ))}
-
-
-
- )}
-
- {card.transactions.length === 0 && (
-
-
- No transactions found
-
-
- Transfer funds
-
-
-
- )}
- >
- );
-};
-
-export default CardSlide;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CardSlide.module.css b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CardSlide.module.css
deleted file mode 100644
index 7ef5587..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CardSlide.module.css
+++ /dev/null
@@ -1,51 +0,0 @@
-.customSlide {
- display: flex;
- flex-direction: column;
-}
-
-.transactionList {
- overflow: scroll;
- width: 100vw;
-}
-
-.balance {
- font-weight: 300;
- font-size: 1.5rem;
- color: black;
-
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-content: center;
- align-items: center;
-}
-
-.poundSign {
- font-weight: 800;
- font-size: 1.2rem;
-}
-
-.heading h6 {
- padding: 0;
- margin: 0;
- text-align: left !important;
- float: left !important;
- text-align: left !important;
- color: rgb(124, 124, 124);
- font-weight: 400;
-}
-
-.heading {
- width: 83%;
- padding: 0;
- margin: 0;
- margin-top: 0.75rem;
-}
-
-.addButton {
- --border-radius: 500px !important;
- width: fit-content !important;
- margin-top: 0.45rem;
- margin-left: 1rem;
- opacity: 0.6;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/DebitCard.jsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/DebitCard.jsx
deleted file mode 100644
index e552f68..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/DebitCard.jsx
+++ /dev/null
@@ -1,68 +0,0 @@
-import { useEffect, useState } from 'react';
-import styles from './DebitCard.module.css';
-
-const DebitCard = (props) => {
- const { type, number, profile, expiry, secret, color } = props;
- const [lastFourCardNumbers, setLastFourCardNumbers] = useState('****');
-
- const cardClass = `card_${color}`;
- const cardTypeLogo = type === 'visa' ? '/visa.png' : '/mastercard.png';
-
- useEffect(() => {
- var lastFourNumbers = number ? number.substr(number.length - 4) : '1234';
- setLastFourCardNumbers(lastFourNumbers);
- }, [number]);
-
- return (
-
-
-
-
-
-
**** **** **** {lastFourCardNumbers}
-
-
Card holder
-
{`${profile.firstname} ${profile.surname}`}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default DebitCard;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/DebitCard.module.css b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/DebitCard.module.css
deleted file mode 100644
index b2064a5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/DebitCard.module.css
+++ /dev/null
@@ -1,188 +0,0 @@
-@import url('https://fonts.googleapis.com/css?family=Space+Mono:400,400i,700,700i');
-
-.card {
- box-sizing: border-box;
- font-family: 'Space Mono', monospace;
- margin: 0 auto;
-}
-
-.title {
- margin-bottom: 30px;
- color: #162969;
-}
-
-.card {
- width: 320px;
- height: 190px;
- -webkit-perspective: 600px;
- -moz-perspective: 600px;
- perspective: 600px;
-}
-
-.card__part {
- box-shadow: 1px 1px #aaa3a3;
- top: 0;
- position: absolute;
- z-index: 1000;
- left: 0;
- display: inline-block;
- width: 320px;
- height: 190px;
- background-repeat: no-repeat;
- background-position: center;
- background-size: cover;
- border-radius: 8px;
-
- -webkit-transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
- -moz-transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
- -ms-transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
- -o-transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
- transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
- -webkit-transform-style: preserve-3d;
- -moz-transform-style: preserve-3d;
- -webkit-backface-visibility: hidden;
- -moz-backface-visibility: hidden;
-}
-
-.card_orange {
- background: linear-gradient(to right bottom, #fd696b, #fa616e, #f65871, #c74261, #d62158);
-}
-
-.card_blue {
- background: linear-gradient(to right bottom, #699dfd, #61b5fa, #58aff6, #4b86c9, #2151d6);
-}
-
-.card_black {
- background: linear-gradient(to right bottom, #292929, #363636, #555555, #444444, #0f0f0f);
-}
-
-.card_purple {
- background: linear-gradient(to right bottom, #7a43df, #644897, #8964cf, #633cac, #512c96);
-}
-
-.card__front {
- padding: 18px;
- -webkit-transform: rotateY(0);
- -moz-transform: rotateY(0);
-}
-
-.card__back {
- padding: 18px 0;
- -webkit-transform: rotateY(-180deg);
- -moz-transform: rotateY(-180deg);
-}
-
-.card__black_line {
- margin-top: 5px;
- height: 38px;
- background-color: #303030;
-}
-
-.card__logo {
- height: 16px !important;
-}
-
-.card__front_chip {
- left: 1.2rem;
- height: 1.5rem !important;
- position: absolute;
-}
-
-.card__front_logo {
- position: absolute;
- top: 18px;
- right: 18px;
-}
-
-.card__square {
- border-radius: 5px;
- height: 30px !important;
-}
-
-.card_number {
- display: block;
- width: 100%;
- word-spacing: 4px;
- font-size: 20px;
- letter-spacing: 2px;
- color: #fff;
- text-align: center;
- margin-bottom: 20px;
- margin-top: 20px;
-}
-
-.card__space_75 {
- width: 75%;
- float: left;
-}
-
-.card__space_25 {
- width: 25%;
- float: left;
-}
-
-.card__label {
- font-size: 10px;
- text-transform: uppercase;
- color: rgba(255, 255, 255, 0.8);
- letter-spacing: 1px;
-}
-
-.card__info {
- margin-bottom: 0;
- margin-top: 5px;
- font-size: 16px;
- line-height: 18px;
- color: #fff;
- letter-spacing: 1px;
- text-transform: uppercase;
-}
-
-.card__back_content {
- padding: 15px 15px 0;
-}
-.card__secret__last {
- color: #303030;
- text-align: right;
- margin: 0;
- font-size: 14px;
-}
-
-.card__secret {
- padding: 5px 12px;
- background-color: #fff;
- position: relative;
-}
-
-.card__secret:before {
- content: '';
- position: absolute;
- top: -3px;
- left: -3px;
- height: calc(100% + 6px);
- width: calc(100% - 42px);
- border-radius: 4px;
- background: repeating-linear-gradient(45deg, #ededed, #ededed 5px, #f9f9f9 5px, #f9f9f9 10px);
-}
-
-.card__back_logo {
- position: absolute;
- bottom: 15px;
- right: 15px;
-}
-
-.card__back_square {
- position: absolute;
- bottom: 15px;
- left: 15px;
-}
-
-.card:hover .card__front {
- -webkit-transform: rotateY(180deg);
- -moz-transform: rotateY(180deg);
-}
-
-.card:hover .card__back {
- -webkit-transform: rotateY(0deg);
- -moz-transform: rotateY(0deg);
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/SkeletonDashboard/index.tsx
deleted file mode 100644
index ae39e44..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,118 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import React from 'react';
-
-export const SkeletonDashboard = (): React.JSX.Element => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/TransactionItem.jsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/TransactionItem.jsx
deleted file mode 100644
index b36f7c0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/TransactionItem.jsx
+++ /dev/null
@@ -1,60 +0,0 @@
-import { IonAvatar, IonItem, IonLabel } from '@ionic/react';
-import { formatBalance } from '../data/Utils';
-import styles from './TransactionItem.module.css';
-
-const TransactionItem = (props) => {
- const { name, amount, deposit, color } = props;
-
- const getContactNameInitials = (contactName) => {
- var nameInitials = '';
-
- if (contactName && contactName !== '' && contactName !== undefined) {
- const nameParts = contactName && contactName.split(' ');
-
- if (nameParts) {
- if (nameParts[0].charAt(0).match(/^[a-z]+$/i)) {
- nameInitials += nameParts[0].charAt(0).toUpperCase();
- }
-
- if (nameParts[1]) {
- if (nameParts[1].charAt(0).match(/^[a-z]+$/i)) {
- nameInitials += nameParts[1].charAt(0).toUpperCase();
- }
- } else {
- nameInitials += nameParts[0].charAt(1).toUpperCase();
- }
- }
- }
-
- return nameInitials;
- };
-
- return (
-
-
-
-
- {getContactNameInitials(name)}
-
-
-
-
- {name}
-
-
-
-
- {deposit ? '+' : '-'}
- £{formatBalance(amount)}
-
-
-
-
- );
-};
-
-export default TransactionItem;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/TransactionItem.module.css b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/TransactionItem.module.css
deleted file mode 100644
index 68649fd..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/components/TransactionItem.module.css
+++ /dev/null
@@ -1,48 +0,0 @@
-.avatarImage {
- /* background-color: var(--ion-color); */
- width: 2.5rem;
- height: 2.5rem;
- border-radius: 500px;
- color: black;
- font-size: 1.3rem;
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-content: center;
- align-items: center;
- padding: 0.5rem !important;
- border: 2px solid rgb(44, 44, 44);
- margin-top: 0.2rem;
-}
-
-.transactionItem {
- flex-direction: row;
- padding: 0;
- margin: 0;
-}
-
-.transactionItemContent {
- padding-left: 3rem;
- padding-right: 2rem;
- display: flex !important;
- flex-direction: row !important;
- justify-content: space-between;
- width: 100%;
- align-content: center;
- align-items: center;
- margin-top: -0.2rem;
- margin-bottom: -0.2rem;
-}
-
-.transactionContent {
- padding: 1rem;
- text-align: left !important;
-}
-
-.green {
- color: rgb(0, 165, 0);
-}
-
-.red {
- color: red;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/data/AccountStore.js b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/data/AccountStore.js
deleted file mode 100644
index d8f7c7d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/data/AccountStore.js
+++ /dev/null
@@ -1,127 +0,0 @@
-import { Store } from 'pullstate';
-
-export const AccountStore = new Store({
- profile: {
- firstname: 'Alan',
- surname: 'Montgomery',
- avatar: '/assets/DemoBankingUi/alan.jpg',
- },
- cards: [
- {
- id: 1,
- type: 'visa',
- description: 'Current Account',
- number: '4859 2390 5635 7347',
- expiry: '11/22',
- secret: '483',
- color: 'orange',
- balance: '38.21',
- transactions: [
- {
- name: 'Joe Bloggs',
- amount: '2.50',
- deposit: true,
- },
- {
- name: 'Ocean Pratt',
- amount: '12.99',
- deposit: true,
- },
- {
- name: 'Eugene Piper',
- amount: '74.99',
- deposit: false,
- },
- {
- name: 'Emeli Potts',
- amount: '4.20',
- deposit: false,
- },
- {
- name: 'Asia Wells',
- amount: '12.73',
- deposit: true,
- },
- {
- name: 'Awais Brook',
- amount: '17.10',
- deposit: false,
- },
- {
- name: 'Coen Haas',
- amount: '9.99',
- deposit: true,
- },
- ],
- },
- {
- id: 2,
- type: 'visa',
- description: 'Savings',
- number: '7349 1284 6790 4587',
- expiry: '05/23',
- secret: '590',
- color: 'blue',
- balance: '120.90',
- transactions: [
- {
- name: 'Joe Bloggs',
- amount: '120.90',
- deposit: true,
- },
- ],
- },
- {
- id: 3,
- type: 'visa',
- description: 'House Fund',
- number: '6783 5692 4475 6682',
- expiry: '01/24',
- secret: '321',
- color: 'purple',
- balance: '0',
- transactions: [],
- },
- ],
-});
-
-export const addCardToAccount = (newCard) => {
- AccountStore.update((s) => {
- s.cards = [...s.cards, newCard];
- });
-};
-
-export const addTransactionToCard = (newTransaction, cardID) => {
- AccountStore.update((s) => {
- s.cards.find((c, index) =>
- parseInt(c.id) === parseInt(cardID)
- ? (s.cards[index].transactions = [...s.cards[index].transactions, newTransaction])
- : false
- );
- });
-
- if (newTransaction.deposit) {
- AccountStore.update((s) => {
- s.cards.find((c, index) =>
- parseInt(c.id) === parseInt(cardID)
- ? (s.cards[index].balance =
- parseFloat(s.cards[index].balance) + parseFloat(newTransaction.amount))
- : false
- );
- });
- } else {
- AccountStore.update((s) => {
- s.cards.find((c, index) =>
- parseInt(c.id) === parseInt(cardID)
- ? (s.cards[index].balance =
- parseFloat(s.cards[index].balance) - parseFloat(newTransaction.amount))
- : false
- );
- });
- }
-};
-
-// export const removeFromCart = productIndex => {
-
-// AccountStore.update(s => { s.product_ids.splice(productIndex, 1) });
-// }
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/data/CardStore.js b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/data/CardStore.js
deleted file mode 100644
index a50176d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/data/CardStore.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import { Store } from 'pullstate';
-
-export const CardStore = new Store({
- card_colors: ['orange', 'black', 'blue', 'purple'],
- card_types: ['visa', 'mastercard'],
-});
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/data/Utils.js b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/data/Utils.js
deleted file mode 100644
index c943a9e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/data/Utils.js
+++ /dev/null
@@ -1,9 +0,0 @@
-export const formatBalance = (balance) => {
- var formatter = new Intl.NumberFormat('en-GB', {
- // style: 'currency',
- currency: 'GBP',
- minimumFractionDigits: 2,
- });
-
- return formatter.format(balance);
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/index.tsx
deleted file mode 100644
index ca65ad4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-// REQ0119/demo-banking-ui
-//
-// RULES:
-// T.B.A.
-//
-
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import Home from './pages/Home';
-import Account from './pages/Account';
-import AddCard from './pages/AddCard';
-import AddTransaction from './pages/AddTransaction';
-
-import './style.scss';
-import React from 'react';
-
-function DemoBankingUi(): React.JSX.Element {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoBankingUi;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Account.jsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Account.jsx
deleted file mode 100644
index 5145b51..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Account.jsx
+++ /dev/null
@@ -1,103 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import styles from './Account.module.css';
-import { AccountStore } from '../data/AccountStore';
-import { addOutline, logOutOutline } from 'ionicons/icons';
-import { formatBalance } from '../data/Utils';
-
-const Account = () => {
- const cards = AccountStore.useState((s) => s.cards);
- const profile = AccountStore.useState((s) => s.profile);
-
- return (
-
-
-
-
-
-
-
- Account
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {`${profile.firstname} ${profile.surname}`}
- {cards.length} current cards
-
-
-
-
-
-
-
- Add Card
-
-
-
-
-
- {cards.map((card, index) => {
- return (
-
-
-
-
-
-
- {card.description}
-
-
-
- £{formatBalance(card.balance)}
-
-
-
-
- );
- })}
-
-
-
-
- );
-};
-
-export default Account;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Account.module.css b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Account.module.css
deleted file mode 100644
index 8e59143..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Account.module.css
+++ /dev/null
@@ -1,54 +0,0 @@
-.accountPage ion-toolbar {
- --border-style: none;
- --padding-top: 1rem;
- --padding-bottom: 1rem;
- padding-left: 1rem;
- padding-right: 1rem;
-}
-
-.avatar {
- border-radius: 500px;
- border: 3px solid var(--ion-color-primary);
- padding: 0.2rem;
-}
-
-.profileDetails {
-}
-
-.profileDetails h6,
-.profileDetails h5 {
- margin: 0;
- padding: 0;
-}
-
-.profileDetails h6 {
- color: var(--ion-color-medium);
-}
-
-.cards {
- /* margin-top: */
-}
-
-.smallCard {
- width: 15%;
- height: 80%;
- border-radius: 5px;
- opacity: 0.7;
-}
-
-.cardDescription {
- padding-left: 1.5rem;
-}
-
-.cardDescription h4 {
- font-weight: 400;
-}
-
-.cardItem {
- --background: rgb(246, 246, 246);
- --border-radius: 5px;
- --padding-start: 1rem;
- --padding-end: 1rem;
- --padding-top: 0.5rem;
- --padding-bottom: 0.5rem;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/AddCard.jsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/AddCard.jsx
deleted file mode 100644
index 41dd2f2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/AddCard.jsx
+++ /dev/null
@@ -1,247 +0,0 @@
-import { useState } from 'react';
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonInput,
- IonItem,
- IonLabel,
- IonPage,
- IonRow,
- IonSelect,
- IonSelectOption,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import styles from './Account.module.css';
-import DebitCard from '../components/DebitCard';
-import { AccountStore, addCardToAccount } from '../data/AccountStore';
-import { CardStore } from '../data/CardStore';
-import { addOutline, timerOutline } from 'ionicons/icons';
-import { useHistory } from 'react-router';
-
-const AddCard = () => {
- const cards = AccountStore.useState((s) => s.cards);
- const cardTypes = CardStore.useState((s) => s.card_types);
- const cardColors = CardStore.useState((s) => s.card_colors);
- const profile = AccountStore.useState((s) => s.profile);
-
- const [cardType, setCardType] = useState(cardTypes[0]);
- const [cardColor, setCardColor] = useState(cardColors[0]);
- const [cardDescription, setCardDescription] = useState('');
- const [cardNumber, setCardNumber] = useState('1234 1234 1234 1234');
- const [cardSecret, setCardSecret] = useState('123');
- const [cardExpiry, setCardExpiry] = useState('01/22');
- const [cardBalance, setCardBalance] = useState(0);
-
- const history = useHistory();
- const [adding, setAdding] = useState(false);
-
- const addCard = async () => {
- setAdding(true);
-
- const newCard = {
- id: cards.length + 1,
- type: cardType,
- color: cardColor,
- description: cardDescription,
- number: cardNumber,
- secret: cardSecret,
- expiry: cardExpiry,
- balance: cardBalance,
- transactions: [
- {
- name: 'Starting Balance',
- amount: cardBalance,
- deposit: true,
- },
- ],
- };
-
- await addCardToAccount(newCard);
-
- setTimeout(() => {
- setAdding(false);
- history.goBack();
- }, 500);
- };
-
- return (
-
-
-
-
-
-
-
- Add Card
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Card Type
- setCardType(e.currentTarget.value)}
- >
- {cardTypes.map((option, index) => {
- return (
-
- {option.toUpperCase()}
-
- );
- })}
-
-
-
-
-
-
- Card Color
- setCardColor(e.currentTarget.value)}
- >
- {cardColors.map((option, index) => {
- return (
-
- {option.toUpperCase()}
-
- );
- })}
-
-
-
-
-
-
-
-
- Card Name
- setCardDescription(e.currentTarget.value)}
- />
-
-
-
-
-
- Starting Balance
- setCardBalance(e.currentTarget.value)}
- />
-
-
-
-
-
-
-
- Card Number
- setCardNumber(e.currentTarget.value)}
- />
-
-
-
-
-
-
-
- Card Expiry
- setCardExpiry(e.currentTarget.value)}
- />
-
-
-
-
-
- Card Secret
- setCardSecret(e.currentTarget.value)}
- />
-
-
-
-
-
-
-
- {!adding && (
- <>
-
- Add Card
- >
- )}
-
- {adding && (
- <>
-
- Adding...
- >
- )}
-
-
-
-
-
-
- );
-};
-
-export default AddCard;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/AddTransaction.jsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/AddTransaction.jsx
deleted file mode 100644
index 8461455..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/AddTransaction.jsx
+++ /dev/null
@@ -1,165 +0,0 @@
-import { useState } from 'react';
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonInput,
- IonItem,
- IonLabel,
- IonPage,
- IonRow,
- IonSelect,
- IonSelectOption,
- IonTitle,
- IonToggle,
- IonToolbar,
- useIonViewWillEnter,
-} from '@ionic/react';
-import styles from './Account.module.css';
-import DebitCard from '../components/DebitCard';
-import { AccountStore, addCardToAccount, addTransactionToCard } from '../data/AccountStore';
-import { CardStore } from '../data/CardStore';
-import { addOutline, timerOutline } from 'ionicons/icons';
-import { useHistory, useParams } from 'react-router';
-
-const AddTransaction = () => {
- const cards = AccountStore.useState((s) => s.cards);
- const profile = AccountStore.useState((s) => s.profile);
-
- const [cardID, setCardID] = useState(false);
- const [card, setCard] = useState({});
- const [transactionName, setTransactionName] = useState('Test Transaction');
- const [transactionAmount, setTransactionAmount] = useState(0);
- const [transactionDeposit, setTransactionDeposit] = useState(false);
-
- const history = useHistory();
- const params = useParams();
- const [adding, setAdding] = useState(false);
-
- useIonViewWillEnter(() => {
- const tempCardID = params.card_id;
- const tempCard = cards.filter((c) => parseInt(c.id) === parseInt(tempCardID))[0];
- setCardID(tempCardID);
- setCard(tempCard);
- });
-
- const addTransaction = async () => {
- setAdding(true);
-
- const newTransaction = {
- name: transactionName,
- amount: transactionAmount,
- deposit: transactionDeposit,
- };
-
- await addTransactionToCard(newTransaction, cardID);
-
- setTimeout(() => {
- setAdding(false);
- history.goBack();
- }, 500);
- };
-
- return (
-
-
-
-
-
-
-
- Add Transaction
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name
- setTransactionName(e.currentTarget.value)}
- />
-
-
-
-
-
- Amount
- setTransactionAmount(e.currentTarget.value)}
- />
-
-
-
-
-
-
-
- Deposit?
- setTransactionDeposit(e.currentTarget.checked)}
- />
-
-
-
-
-
-
-
- {!adding && (
- <>
-
- Add Transaction
- >
- )}
-
- {adding && (
- <>
-
- Adding...
- >
- )}
-
-
-
-
-
-
- );
-};
-
-export default AddTransaction;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Home.jsx b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Home.jsx
deleted file mode 100644
index 01ea13c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Home.jsx
+++ /dev/null
@@ -1,146 +0,0 @@
-import { useRef, useState } from 'react';
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
- useIonViewDidEnter,
-} from '@ionic/react';
-import styles from './Home.module.css';
-import { AccountStore } from '../data/AccountStore';
-import CardSlide from '../components/CardSlide';
-import { chevronBackOutline, searchOutline } from 'ionicons/icons';
-
-// Import Swiper React components
-import { Swiper, SwiperSlide } from 'swiper/react';
-
-// Import Swiper styles
-// import 'swiper/swiper.scss';
-import 'swiper/css';
-
-import stylesS from './Home.module.scss';
-
-const Home = () => {
- const cards = AccountStore.useState((s) => s.cards);
- const profile = AccountStore.useState((s) => s.profile);
-
- const [pageTitle, setPageTitle] = useState(cards[0].description);
- const [mainColor, setMainColor] = useState(cards[0].color);
- const [slideSpace, setSlideSpace] = useState(10);
-
- const slidesRef = useRef(null);
-
- useIonViewDidEnter(() => {
- setSlideSpace(0);
- });
-
- const changeSlide = async (e) => {
- const swiper = e;
- const swiperIndex = swiper.activeIndex;
-
- setPageTitle(cards[swiperIndex].description);
- setMainColor(cards[swiperIndex].color);
-
- document.getElementById(`slide_${swiperIndex}_balance`).classList.add('animate__headShake');
-
- setTimeout(() => {
- document
- .getElementById(`slide_${swiperIndex}_balance`)
- .classList.remove('animate__headShake');
- }, 1000);
- };
-
- const manageTouch = async (touched, e) => {
- const swiper = e;
- const swiperIndex = swiper.activeIndex;
-
- if (touched) {
- document
- .getElementById(`slide_${swiperIndex}_transactions`)
- .classList.add('animate__fadeOut');
- } else {
- document
- .getElementById(`slide_${swiperIndex}_transactions`)
- .classList.remove('animate__fadeOut');
- document.getElementById(`slide_${swiperIndex}_transactions`).classList.add('animate__fadeIn');
- }
- };
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
- {/* */}
-
-
-
-
-
- {pageTitle}
-
-
- handleBackClick()}>
-
-
- {/* */}
-
-
-
-
-
-
-
-
-
- manageTouch(true, e)}
- onTouchEnd={(e) => manageTouch(false, e)}
- onSlideChange={(e) => changeSlide(e)}
- >
- {cards.map((card, index) => {
- return (
-
-
-
- );
- })}
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Home.module.css b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Home.module.css
deleted file mode 100644
index 5d5719c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Home.module.css
+++ /dev/null
@@ -1,38 +0,0 @@
-.homePage ion-toolbar {
- --border-style: none;
- --padding-top: 1rem;
- --padding-bottom: 1rem;
- padding-left: 1rem;
- padding-right: 1rem;
-}
-
-.customSlide {
- display: flex;
- flex-direction: column;
-}
-
-.transactionList {
- overflow: scroll;
- width: 100vw;
-}
-
-.balance {
- font-weight: 300;
- font-size: 1.5rem;
- color: black;
-}
-
-.poundSign {
- font-weight: 800;
- font-size: 1.2rem;
-}
-
-.toolbarAvatarImage {
- border-radius: 500px;
- height: 100%;
- width: auto;
-}
-
-.helloworld {
- background-color: gold;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Home.module.scss
deleted file mode 100644
index 0065249..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/pages/Home.module.scss
+++ /dev/null
@@ -1,38 +0,0 @@
-.homePage ion-toolbar {
- --border-style: none;
- --padding-top: 1rem;
- --padding-bottom: 1rem;
- padding-left: 1rem;
- padding-right: 1rem;
-}
-
-.customSlide {
- display: flex;
- flex-direction: column;
-}
-
-.transactionList {
- overflow: scroll;
- width: 100vw;
-}
-
-.balance {
- font-weight: 300;
- font-size: 1.5rem;
- color: black;
-}
-
-.poundSign {
- font-weight: 800;
- font-size: 1.2rem;
-}
-
-.toolbarAvatarImage {
- border-radius: 500px;
- height: 32px;
- width: auto;
-}
-
-.helloworld {
- background-color: cyan;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/style.scss b/03_source/mobile.trunk.1/src/pages/DemoBankingUi/style.scss
deleted file mode 100644
index 378cae3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBankingUi/style.scss
+++ /dev/null
@@ -1,139 +0,0 @@
-.demo-banking-ui {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- /** Ionic CSS Variables **/
- * {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-
- ion-item {
- --padding-start: 0;
- --inner-padding-end: 0;
- }
-
- ion-label {
- margin-top: 12px;
- margin-bottom: 12px;
- }
-
- ion-item h2 {
- font-weight: 600;
- margin: 0;
- }
-
- ion-item p {
- text-overflow: ellipsis;
- overflow: hidden;
- white-space: nowrap;
- width: 95%;
- }
-
- ion-item .date {
- float: right;
- align-items: center;
- display: flex;
- }
-
- ion-item ion-icon {
- color: #c9c9ca;
- }
-
- ion-item ion-note {
- font-size: 15px;
- margin-right: 8px;
- font-weight: normal;
- }
-
- ion-item ion-note.md {
- margin-right: 14px;
- }
-
- .dot {
- display: block;
- height: 12px;
- width: 12px;
- border-radius: 50%;
- align-self: start;
- margin: 16px 10px 16px 16px;
- }
-
- .dot-unread {
- background: var(--ion-color-primary);
- }
-
- ion-footer ion-title {
- font-size: 11px;
- font-weight: normal;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/AppPages/BlogPost.css b/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/AppPages/BlogPost.css
deleted file mode 100644
index e754dfd..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/AppPages/BlogPost.css
+++ /dev/null
@@ -1,7 +0,0 @@
-.view-post-footer {
-
- background-color: white;
- padding-left: 1rem;
- padding-right: 1rem;
- padding-bottom: 1rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/AppPages/BlogPost.jsx b/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/AppPages/BlogPost.jsx
deleted file mode 100644
index 3c295ba..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/AppPages/BlogPost.jsx
+++ /dev/null
@@ -1,90 +0,0 @@
-import {
- IonBackButton,
- IonBadge,
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonFooter,
- IonGrid,
- IonHeader,
- IonIcon,
- IonNote,
- IonPage,
- IonRow,
- IonText,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { bookmarkOutline, shareOutline } from 'ionicons/icons';
-import { useParams } from 'react-router';
-import { blogPosts } from '../localData';
-import './BlogPost.css';
-
-const BlogPost = () => {
- const { id } = useParams();
- const post = blogPosts.filter((post) => parseInt(post.id) === parseInt(id))[0];
-
- return (
-
-
-
- Blog
-
-
-
-
-
-
-
-
-
-
-
-
-
- {post.author}
-
-
- {post.date}
-
-
-
-
- {post.title}
-
-
-
-
-
- {post.content}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {post.category}
-
-
-
-
-
- );
-};
-
-export default BlogPost;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/AppPages/Home.jsx b/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/AppPages/Home.jsx
deleted file mode 100644
index 7fff026..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/AppPages/Home.jsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { Post } from '../components/Post';
-import { blogPosts } from '../localData';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Home = () => {
- const router = useIonRouter();
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Ionic Blog
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Ionic Blog
-
-
-
- {blogPosts.map((post, index) => (
-
- ))}
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/NOTES.md
deleted file mode 100644
index 583ec8b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0122
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/components/Post.css b/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/components/Post.css
deleted file mode 100644
index 4b6c13d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/components/Post.css
+++ /dev/null
@@ -1,37 +0,0 @@
-.post-author-avatar {
- height: 2rem;
- width: 2rem;
- border-radius: 500px;
-}
-
-.post-title {
- font-size: 1.4rem;
- margin-top: 0.75rem;
-}
-
-.post-content {
- overflow: hidden;
- text-overflow: ellipsis;
- display: -webkit-box;
- -webkit-line-clamp: 3;
- -webkit-box-orient: vertical;
-}
-
-.post-footer {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-content: center;
- width: 100%;
- border-top: 2px solid rgb(245, 245, 245);
- margin-top: 2rem;
- padding-top: 1rem;
-}
-
-.post-category {
- margin-top: 1.1rem;
-}
-
-.post-image {
- width: 100%;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/components/Post.jsx b/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/components/Post.jsx
deleted file mode 100644
index 96437dd..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/components/Post.jsx
+++ /dev/null
@@ -1,57 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonCard,
- IonCardContent,
- IonCardHeader,
- IonCardSubtitle,
- IonCardTitle,
- IonIcon,
- IonNote,
- IonRow,
-} from '@ionic/react';
-import { bookmarkOutline, shareOutline } from 'ionicons/icons';
-
-import './Post.css';
-
-export const Post = ({ post }) => {
- return (
-
-
-
-
-
-
-
-
- {post.author}
-
-
- {post.date}
-
- {post.title}
-
-
-
- {post.content}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {post.category}
-
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/index.tsx
deleted file mode 100644
index 0b67601..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/index.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-// REQ0119/demo-blog-post-ui
-//
-// RULES:
-// T.B.A.
-//
-
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Home from './AppPages/Home';
-import BlogPost from './AppPages/BlogPost';
-
-import './style.scss';
-
-function DemoBlogPostUi() {
- return (
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoBlogPostUi;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/localData/index.js b/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/localData/index.js
deleted file mode 100644
index a9b37fc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/localData/index.js
+++ /dev/null
@@ -1,117 +0,0 @@
-export const blogPosts = [
- {
- id: 1,
- title: 'How to Convince Your Boss to Choose Ionic',
- title_link: 'https://ionicframework.com/blog/convince-boss-choose-ionic-app-development/',
- date: 'August 3, 2021',
- author: 'By Kim Maida',
- authorImage: 'https://ionicframework.com/blog/wp-content/uploads/2021/07/kim-maida-150x150.jpg',
- category: 'ANNOUNCEMENTS',
- category_link: 'https://ionicframework.com/blog//blog/category/announcements',
- image:
- 'https://ionicframework.com/blog/wp-content/uploads/2021/07/how-to-convince-your-boss_image_1aug2021.png',
- content:
- 'Greetings, friend! You’re a web developer, team lead, or engineering manager who has discovered that Ionic products are awesome. They have helped you build cross-platform applications quickly, made the app development process enjoyable, and solved important mobile development problems. You can see that Ionic would be extremely beneficial in your daily job, but are wondering how to convince your boss to endorse the adoption of new software. In a nutshell:',
- },
- {
- id: 2,
- title: 'Ioniconf 2021 Conference Recap',
- title_link: 'https://ionicframework.com/blog/ioniconf-2021-conference-recap/',
- date: 'July 29, 2021',
- author: 'By Mike Hartington',
- authorImage:
- 'https://ionicframework.com/blog/wp-content/uploads/2018/08/mike-headshot-2-smaller-150x150.png',
- category: 'ANNOUNCEMENTS',
- category_link: 'https://ionicframework.com/blog//blog/category/announcements',
- image: 'https://ionicframework.com/blog/wp-content/uploads/2021/06/og-imgx2.png',
- content:
- 'And with that, Ioniconf 2021 has concluded! Ioniconf, our online conference for Ionic developers and the wider web development community, featured twelve expert Ionic speakers and was attended by many thousands of Ionic community members. We’re thrilled by the community’s reception to the event and are already looking forward to our next event taking place in September. Read on for a recap and links to all recorded talks.',
- },
- {
- id: 3,
- title: 'Announcing Identity Vault 5.0',
- title_link: 'https://ionicframework.com/blog/announcing-identity-vault-5-0/',
- date: 'July 28, 2021',
- author: 'By Dallas James',
- authorImage:
- 'https://ionicframework.com/blog/wp-content/uploads/2021/07/dallas-james-150x150.jpg',
- category: 'PRODUCT',
- category_link: 'https://ionicframework.com/blog//blog/category/announcements',
- image: 'https://ionicframework.com/blog/wp-content/uploads/2021/07/iv-5-feature-image.png',
- content:
- 'Today I’m excited to announce Identity Vault 5.0, the newest version of Ionic’s mobile biometrics solution. Featuring the latest in native security best practices, Identity Vault improves frontend security in any Ionic app by making it easy to add secure biometric authentication in minutes.',
- },
- {
- id: 4,
- title: 'Building with Stencil: Clock Component',
- title_link: 'https://ionicframework.com/blog/building-with-stencil-clock-component/',
- date: 'July 22, 2021',
- author: 'By Kevin Hoyt',
- authorImage: 'https://ionicframework.com/blog/wp-content/uploads/2021/07/2520666-150x150.jpg',
- category: 'ANNOUNCEMENTS',
- category_link: 'https://ionicframework.com/blog//blog/category/announcements',
- image: 'https://ionicframework.com/blog/wp-content/uploads/2021/07/Image-from-iOS.png',
- content:
- 'I have not seen a clock in a web-based user interface in a long time. This makes sense — they are pretty redundant these days. You have a clock on your watch, on your mobile device, and on your desktop, and those are just the digital versions available at a glance. Nonetheless, the process of building a clock can reveal a lot about how a platform works.',
- },
- {
- id: 5,
- title: 'Building with Stencil: Calendar Component',
- title_link: 'https://ionicframework.com/blog/building-with-stencil-calendar-component/',
- date: 'July 19, 2021',
- author: 'By Kevin Hoyt',
- authorImage: 'https://ionicframework.com/blog/wp-content/uploads/2021/07/2520666-150x150.jpg',
- category: 'TUTORIALS',
- category_link: null,
- image:
- 'https://ionicframework.com/blog/wp-content/uploads/2021/07/ionic-blog-post-image_first-look-01.png',
- content:
- 'Take a look at the month view of a calendar and you will see several rows of numbers. The numbers themselves, increasing in value one after the other, are arranged in columns. HTML and CSS provide us with a number of tools to display content in rows and columns. Making a calendar component should be easy, right? Right?',
- },
- {
- id: 6,
- title: 'Introducing the New Overlay Hooks for Ionic React',
- title_link:
- 'https://ionicframework.com/blog/introducing-the-new-overlay-hooks-for-ionic-react/',
- date: 'July 14, 2021',
- author: 'By Ely Lucas',
- authorImage: 'https://secure.gravatar.com/avatar/45ad19965b4bde97e9f4396ea01ed184?s=32&r=g',
- category: 'ENGINEERING',
- category_link: null,
- image:
- 'https://ionicframework.com/blog/wp-content/uploads/2021/07/react-overlay-hooks-feature-image.png',
- content:
- 'Hello Friends! We know everyone is excited about the new features in Ionic Framework 6.0 beta, but that doesn’t mean we’re done with V5! In Ionic React 5.6, we packaged up a new set of hooks for controlling our overlay components that we think you might like. What is an overlay you ask? It’s the term we give components that display over your current content, such as alerts, modals, toasts, etc.',
- },
- {
- id: 7,
- title: 'The Future of Stencil: Expanded Team, New Software Platform, and More',
- title_link:
- 'https://ionicframework.com/blog/the-future-of-stencil-expanded-team-new-software-platform-and-more/',
- date: 'July 7, 2021',
- author: 'By Nick Hyatt',
- authorImage:
- 'https://ionicframework.com/blog/wp-content/uploads/2018/11/Nick-Hyatt-Headshot-150x150.jpeg',
- category: 'ANNOUNCEMENTS',
- category_link: null,
- image:
- 'https://ionicframework.com/blog/wp-content/uploads/2021/07/stencil-future-feature-image.png',
- content:
- 'Today I’m excited to share some news about Stencil, Ionic’s open source toolchain that generates small, fast, and 100% standards-based Web Components that run in every browser. As you might have noticed, we’ve been actively increasing our investments across the entire Ionic App Platform, including the recent launch of Capacitor 3.0, Ionic Portals, tons of Appflow improvements, and the upcoming Ionic Framework v6.',
- },
- {
- id: 8,
- title: 'Announcing the Ionic Framework v6 Beta',
- title_link: 'https://ionicframework.com/blog/announcing-the-ionic-framework-v6-beta/',
- date: 'June 29, 2021',
- author: 'By Liam DeBeasi',
- authorImage:
- 'https://ionicframework.com/blog/wp-content/uploads/2020/01/ZNK4lRAJ_400x400-150x150.jpg',
- category: 'ANNOUNCEMENTS',
- category_link: null,
- image:
- 'https://ionicframework.com/blog/wp-content/uploads/2021/06/framework6-feature-image.png',
- content:
- 'Earlier this week I had the privilege of giving the Ionic Framework Update at Ioniconf 2021 where we announced the Ionic Framework v6 beta. Ionic Framework has come far from its roots as an AngularJS-only UI library to a truly cross-platform framework for building Web Native applications. As we look to the future of Ionic Framework, let’s talk about some of the improvements coming in Framework v6 and how you can get access to these improvements today.',
- },
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/style.scss b/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/style.scss
deleted file mode 100644
index 83c6630..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoBlogPostUi/style.scss
+++ /dev/null
@@ -1,79 +0,0 @@
-.demo-blog-post-ui {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- /** Ionic CSS Variables **/
- * {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/AppPages/Tab1.jsx
deleted file mode 100644
index 54ab2b9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../components/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/AppPages/Tab2.jsx
deleted file mode 100644
index 216544f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/NOTES.md
deleted file mode 100644
index 83a41c1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0123
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/ExploreContainer.tsx b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/ExploreContainer.tsx
deleted file mode 100644
index 67b9c98..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/ExploreContainer.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import './ExploreContainer.css';
-
-interface ContainerProps {}
-
-const ExploreContainer: React.FC = () => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/MarkerInfoWindow.jsx b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/MarkerInfoWindow.jsx
deleted file mode 100644
index cc2ea78..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/MarkerInfoWindow.jsx
+++ /dev/null
@@ -1,69 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonGrid,
- IonIcon,
- IonLabel,
- IonNote,
- IonRow,
-} from '@ionic/react';
-import {
- globeOutline,
- heartOutline,
- locationOutline,
- navigateOutline,
- phonePortraitOutline,
-} from 'ionicons/icons';
-
-export const MarkerInfoWindow = ({ marker, dismiss }) => {
- return (
-
-
-
-
-
- {marker.title}
- {marker.description}
-
-
-
-
-
-
-
-
-
- {marker.address}
-
-
-
-
-
-
-
- {marker.website}
-
-
-
-
-
-
-
- {marker.phone}
-
-
-
-
-
- Favourite
-
-
-
- Navigate
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/components/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/data/index.js b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/data/index.js
deleted file mode 100644
index c2ce3b5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/data/index.js
+++ /dev/null
@@ -1,47 +0,0 @@
-export const markers = [
- {
- lat: 54.5258924,
- lng: -6.0812478,
- title: 'Man Lee',
- description: 'Chinese Takeaway',
- address: '122 Ballymacash Rd, Lisburn BT28 3EZ',
- website: 'https://m.facebook.com/pages/Man-Lee/228415820694835',
- phone: '028 92 662853',
- },
- {
- lat: 54.5097827,
- lng: -6.0572343,
- title: 'Cam Hing',
- description: 'Chinese Takeaway',
- address: '70 Longstone St, Lisburn BT28 1TR',
- website: 'https://camhinglisbunr.com',
- phone: '028 92 677928',
- },
- {
- lat: 54.5095162,
- lng: -6.0595896,
- title: 'Golden Garden',
- description: 'Chinese Takeaway',
- address: '140 Longstone St, Lisburn BT28 1TR',
- website: 'https://golden-garden.business.site',
- phone: '028 92 671311',
- },
- {
- lat: 54.5091808,
- lng: -6.0363902,
- title: 'Pagoda',
- description: 'Chinese Takeaway',
- address: '79 Sloan St, Lisburn BT27 5AG',
- website: 'https://pagodalisburn.com',
- phone: '028 92 665289',
- },
- {
- lat: 54.5989611,
- lng: -5.9972126,
- title: 'Little Wing',
- description: 'Pizzeria',
- address: '10 Ann St, Belfast BT1 4EF',
- website: 'https://littlewingpizzeria.com',
- phone: '028 90 247000',
- },
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/index.tsx
deleted file mode 100644
index 1d471d0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/index.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-// REQ0119/demo-capacitor-google-maps-tutorial
-//
-// RULES:
-// T.B.A.
-//
-
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-
-import Home from './pages/Home';
-
-import './style.scss';
-
-function DemoCapacitorGoogleMapsTutorial() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoCapacitorGoogleMapsTutorial;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/pages/Home.css b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/pages/Home.css
deleted file mode 100644
index 912345b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/pages/Home.css
+++ /dev/null
@@ -1,5 +0,0 @@
-capacitor-google-map {
- display: inline-block;
- width: 100%;
- height: 86vh;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/pages/Home.jsx b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/pages/Home.jsx
deleted file mode 100644
index b800259..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/pages/Home.jsx
+++ /dev/null
@@ -1,130 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonModal,
- useIonRouter,
- useIonViewWillEnter,
-} from '@ionic/react';
-import { useRef, useState } from 'react';
-import './Home.css';
-
-import { GoogleMap } from '@capacitor/google-maps';
-import { markers } from '../data';
-import { MarkerInfoWindow } from '../components/MarkerInfoWindow.jsx';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Home = () => {
- // This key is now dead!
- // Replace with your own :)
- // Remember to secure keys using env files or requesting from server!
- // This was for demo purposes :)
- const key = 'AIzaSyBJwKYcub1yNcDd2V8iu4ZfGvDi4eW_fpU';
- let newMap;
- const mapRef = useRef(null);
-
- const [selectedMarker, setSelectedMarker] = useState(null);
-
- const [present, dismiss] = useIonModal(MarkerInfoWindow, {
- marker: selectedMarker,
- });
-
- const modalOptions = {
- initialBreakpoint: 0.4,
- breakpoints: [0, 0.4],
- backdropBreakpoint: 0,
- onDidDismiss: () => dismiss(),
- };
-
- const [mapConfig, setMapConfig] = useState({
- zoom: 10,
- center: {
- lat: markers[0].lat,
- lng: markers[0].lng,
- },
- });
-
- const markerClick = (marker) => {
- setSelectedMarker(
- markers.filter((m) => m.lat === marker.latitude && m.lng === marker.longitude)[0]
- );
- present(modalOptions);
- };
-
- const addMapMarker = async (marker) => {
- await newMap.addMarker({
- coordinate: {
- lat: marker.lat,
- lng: marker.lng,
- },
- title: marker.title,
- });
- };
-
- const addMapMarkers = () => markers.forEach((marker) => addMapMarker(marker));
-
- const createMap = async () => {
- if (!mapRef.current) return;
-
- newMap = await GoogleMap.create({
- id: 'google-map',
- element: mapRef.current,
- apiKey: key,
- config: mapConfig,
- });
-
- newMap.setOnMarkerClickListener((marker) => markerClick(marker));
- addMapMarkers();
- };
-
- useIonViewWillEnter(() => createMap());
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Capacitor Google Map
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Capacitor Google Map
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/style.scss b/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/style.scss
deleted file mode 100644
index 697843e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoCapacitorGoogleMapsTutorial/style.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-.demo-capacitor-google-maps-tutorial {
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab1.css b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab1.css
deleted file mode 100644
index 67366ad..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab1.css
+++ /dev/null
@@ -1,12 +0,0 @@
-.extra-padding {
-
- padding-right: 1.3rem !important;
- padding-left: 1.3rem !important;
-}
-
-.title {
-
- font-weight: 600;
- font-size: 1.2rem;
- margin-bottom: 0.5rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab1.jsx
deleted file mode 100644
index df15105..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,90 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonText,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { chevronBack, personOutline } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { TalkStore } from '../store';
-import { getTalks } from '../store/Selectors';
-import './Tab1.css';
-
-import { TalkCard } from '../components/TalkCard';
-import { useRef } from 'react';
-
-const Tab1 = () => {
- const pageRef = useRef(null);
- const talks = useStoreState(TalkStore, getTalks);
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- All Rooms
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Upcoming
-
-
-
-
-
-
-
-
-
-
-
-
-
- Happening Now
-
-
-
-
-
-
- {talks.map((talk, talkIndex) => {
- return talkIndex > 0 && ;
- })}
-
-
-
-
-
- );
-};
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab2.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab2.jsx
deleted file mode 100644
index a668cd0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import './Tab2.css';
-
-const Tab2 = () => {
- return (
-
-
-
- TO DO :)
-
-
-
-
-
- TO DO :)
-
-
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab3.css b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab3.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab3.jsx b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab3.jsx
deleted file mode 100644
index 5717606..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/AppPages/Tab3.jsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import './Tab3.css';
-
-const Tab3 = () => {
- return (
-
-
-
- TO DO :)
-
-
-
-
-
- TO DO :)
-
-
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/NOTES.md
deleted file mode 100644
index 74774f7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0124
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkCard.jsx b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkCard.jsx
deleted file mode 100644
index bc48121..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkCard.jsx
+++ /dev/null
@@ -1,108 +0,0 @@
-import { IonCardSubtitle, IonIcon, IonModal, IonNote, IonRow, useIonModal } from '@ionic/react';
-import { bulb, micOutline, personOutline } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { useEffect, useState } from 'react';
-
-import { CategoryStore } from '../store';
-import { getPeople } from '../store/PeopleStore';
-import { getCategory } from '../store/Selectors';
-
-import styles from './TalkCard.module.css';
-import { TalkModal } from './TalkModal';
-
-export const TalkCard = ({ upcoming = false, talk, pageRef }) => {
- const talkCategory = useStoreState(CategoryStore, getCategory(talk.category_id));
- const [speakers, setSpeakers] = useState([]);
- const [showModal, setShowModal] = useState(false);
-
- useEffect(() => {
- setSpeakers(getPeople(talk.speakers));
- }, [talk]);
-
- // const [ present, dismiss ] = useIonModal(TalkModal, {
-
- // dismiss: () => dismiss(),
- // talk,
- // speakers,
- // category: talkCategory
- // });
-
- // const handleShowTalk = () => {
-
- // console.log("in here");
-
- // present({
-
- // // presentingElement: pageRef.current
- // });
- // }
-
- return (
- <>
- setShowModal(true)}
- >
-
-
-
- {talkCategory.name} talks
-
-
-
-
-
{talk.title}
-
-
- {!upcoming && (
-
- {speakers.map((speaker, index) => {
- return (
-
-
-
- );
- })}
-
- )}
-
- {upcoming && (
-
-
{talk.time}
-
-
- {talk.speakers} Speakers
-
-
- )}
-
- {!upcoming && (
-
-
-
- {talk.speakers} Speakers
-
-
-
-
- {talk.audience} Audience
-
-
- )}
-
-
- setShowModal(false)}
- presentingElement={pageRef.current}
- >
- setShowModal(false)}
- speakers={speakers}
- talk={talk}
- category={talkCategory}
- />
-
- >
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkCard.module.css b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkCard.module.css
deleted file mode 100644
index 881aa99..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkCard.module.css
+++ /dev/null
@@ -1,105 +0,0 @@
-.talkCard {
-
- display: flex;
- flex-direction: column;
- border-radius: 10px;
- padding: 2rem;
- box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
- background-color: white;
-}
-
-.talkCard:not(:first-child) {
-
- margin-top: 2rem;
-}
-
-.upcomingCard {
-
- background-color: var(--ion-color-primary);
- color: white;
-}
-
-.cardTitle {
-
- display: flex;
- flex-direction: row;
- align-content: center;
- align-items: center;
- color: white;
-}
-
-.cardTitle ion-icon {
-
- border-radius: 500px;
- padding: 0.2rem;
- margin-right: 0.75rem;
- background-color: var(--ion-color-primary);
- margin-top: -0.2rem;
-}
-
-.upcomingCard .cardTitle ion-icon {
-
- background-color: white;
-}
-
-.talkTitle h3 {
-
- font-size: 1.3rem !important;
- font-weight: 600;
-}
-
-.talkDate {
-
- display: flex;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- margin-top: 0.5rem;
-}
-
-.talkSpeakers {
-
- display: flex;
- flex-direction: row;
- margin-top: 0.5rem;
-}
-
-.talkSpeaker {
-
- display: flex;
- align-items: center;
- justify-content: center;
- height: 3.5rem;
- width: 3.5rem;
- border-radius: 12px;
- margin-right: 0.2rem;
- background-color: var(--ion-color-primary);
-}
-
-.talkSpeaker img {
-
- height: 3rem;
- width: 3rem;
-}
-
-.talkDetails {
-
- display: flex;
- justify-content: space-between;
- margin-top: 1.5rem;
-}
-
-.detailCount {
-
- display: flex;
- align-content: center;
- align-items: center;
- font-weight: 500;
- font-size: 0.9rem;
-}
-
-.detailCount ion-icon {
-
- font-size: 1.2rem;
- margin-right: 0.3rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkModal.jsx
deleted file mode 100644
index ec9b741..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkModal.jsx
+++ /dev/null
@@ -1,110 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { bulb, exitOutline, micOutline, personOutline } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { PeopleStore } from '../store';
-import { getAllPeople } from '../store/Selectors';
-
-import styles from './TalkModal.module.css';
-
-export const TalkModal = ({ dismiss, talk, category, speakers }) => {
- const people = useStoreState(PeopleStore, getAllPeople);
-
- return (
-
-
-
- Talk Room
-
-
-
-
- {/* Leave Room */}
-
-
-
-
-
-
-
-
-
-
-
- {category.name} talks
-
-
-
-
-
-
- {talk.title}
-
-
-
-
-
-
-
- {talk.speakers} Speakers
-
-
-
-
-
- {speakers.map((speaker, index) => {
- return (
-
-
-
-
- {speaker.name.split(' ')[0]}
-
- );
- })}
-
-
-
-
-
-
- {talk.audience} Audience
-
-
-
-
-
- {[...Array(talk.audience)].map((audience, index) => {
- return (
-
-
-
-
- {people[Math.floor(Math.random() * 30)].name.split(' ')[0]}
-
- );
- })}
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkModal.module.css b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkModal.module.css
deleted file mode 100644
index 3661f23..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components/TalkModal.module.css
+++ /dev/null
@@ -1,150 +0,0 @@
-.talkCard {
-
- display: flex;
- flex-direction: column;
- border-radius: 10px;
- padding: 2rem;
- box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.1);
- background-color: white;
-}
-
-.talkCard:not(:first-child) {
-
- margin-top: 2rem;
-}
-
-.upcomingCard {
-
- background-color: var(--ion-color-primary);
- color: white;
-}
-
-.cardTitle {
-
- display: flex;
- flex-direction: row;
- align-content: center;
- align-items: center;
- color: white;
-}
-
-.cardTitle ion-icon {
-
- border-radius: 500px;
- padding: 0.2rem;
- margin-right: 0.75rem;
- background-color: var(--ion-color-primary);
- margin-top: -0.2rem;
-}
-
-.upcomingCard .cardTitle ion-icon {
-
- background-color: white;
-}
-
-.talkTitle {
-
- margin-top: -1rem;
-}
-
-.talkTitle h3 {
-
- font-size: 1.3rem !important;
- font-weight: 600;
-}
-
-.talkDate {
-
- display: flex;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- margin-top: 0.5rem;
-}
-
-.talkSpeakers {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- margin-top: 0.5rem;
- margin-bottom: 1.5rem;
-}
-
-.speakerContainer {
-
- display: flex;
- flex-direction: column;
- align-content: center;
- align-items: center;
- justify-content: space-between;
-}
-
-.audienceContainer {
-
- margin-bottom: 1rem;
- /* margin: 0.5rem; */
-}
-
-.talkSpeaker {
-
- display: flex;
- align-items: center;
- justify-content: center;
- height: 3.5rem;
- width: 3.5rem;
- border-radius: 12px;
- margin-right: 0.2rem;
- background-color: var(--ion-color-primary);
-}
-
-.audienceContainer .talkSpeaker {
-
- background-color: #f2efe5;
- border: 2px solid #dfd9c7;
-}
-
-.talkSpeaker img {
-
- height: 3rem;
- width: 3rem;
-}
-
-.speakerContainer p {
-
- margin: 0;
- padding: 0;
- margin-top: 0.2rem;
- font-weight: 500;
- font-size: 0.9rem;
-}
-
-.talkDetails {
-
- display: flex;
- justify-content: space-between;
- margin-top: 1.5rem;
-}
-
-.detailCount {
-
- display: flex;
- align-content: center;
- align-items: center;
- font-weight: 600;
- font-size: 0.9rem;
- margin-top: 1rem;
- margin-bottom: 0.3rem;
-}
-
-.detailCount ion-icon {
-
- font-size: 1.2rem;
- margin-right: 0.3rem;
- margin-left: -0.4rem;
-}
-
-.activeSpeaker {
-
- border: 3px solid rgb(255, 187, 0);
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components1/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components1/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components1/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components1/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components1/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components1/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components1/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components1/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/components1/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/index.tsx
deleted file mode 100644
index f7e8228..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/index.tsx
+++ /dev/null
@@ -1,122 +0,0 @@
-// REQ0119/demo-club-house
-//
-// RULES:
-// T.B.A.
-//
-
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonLabel,
- IonPage,
- IonRouterOutlet,
- IonRow,
- IonTabBar,
- IonTabButton,
- IonTabs,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from './components1/SkeletonDashboard';
-import {
- addCircle,
- addCircleOutline,
- chevronBack,
- cloudOutline,
- home,
- homeOutline,
- notifications,
- notificationsOutline,
- person,
- personOutline,
- refreshOutline,
- search,
- searchOutline,
-} from 'ionicons/icons';
-import { CurrentWeather } from './components1/CurrentWeather';
-import { IonReactRouter } from '@ionic/react-router';
-import { Route, Redirect } from 'react-router';
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-import Tab3 from './AppPages/Tab3';
-
-const DemoClubHouse = () => {
- const tabs = [
- {
- name: 'Home',
- url: '/demo-club-house/home',
- activeIcon: home,
- icon: homeOutline,
- component: Tab1,
- },
- {
- name: 'Search',
- url: '/search',
- activeIcon: search,
- icon: searchOutline,
- component: Tab2,
- },
- {
- name: 'Add',
- url: '/add',
- activeIcon: addCircle,
- icon: addCircleOutline,
- component: Tab3,
- },
- {
- name: 'Account',
- url: '/account',
- activeIcon: person,
- icon: personOutline,
- component: Tab3,
- },
- {
- name: 'Notifications',
- url: '/notifications',
- activeIcon: notifications,
- icon: notificationsOutline,
- component: Tab3,
- },
- ];
-
- const [activeTab, setActiveTab] = useState(tabs[0].name);
-
- return (
- setActiveTab(e.detail.tab)}>
-
- {tabs.map((tab, index) => {
- return (
-
-
-
- );
- })}
-
-
-
-
-
-
- {tabs.map((tab, barIndex) => {
- const active = tab.name === activeTab;
-
- return (
-
-
-
- );
- })}
-
-
- );
-};
-
-export default DemoClubHouse;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/CategoryStore.js b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/CategoryStore.js
deleted file mode 100644
index 81fe162..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/CategoryStore.js
+++ /dev/null
@@ -1,24 +0,0 @@
-import { Store } from 'pullstate';
-
-const CategoryStore = new Store({
- categories: [
- {
- id: 1,
- name: 'Design',
- },
- {
- id: 2,
- name: 'Javascript',
- },
- {
- id: 3,
- name: 'Mobile',
- },
- {
- id: 4,
- name: 'Business',
- },
- ],
-});
-
-export default CategoryStore;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/PeopleStore.js b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/PeopleStore.js
deleted file mode 100644
index 592aea0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/PeopleStore.js
+++ /dev/null
@@ -1,206 +0,0 @@
-import { Store } from 'pullstate';
-
-const PeopleStore = new Store({
- people: [
- {
- name: 'Andrew Bennet',
- image: '/avatars/Avatar-1.png',
- },
- {
- name: 'Elizabeth Moore',
- image: '/avatars/Avatar-2.png',
- },
- {
- name: 'Oscar Clarke',
- image: '/avatars/Avatar-3.png',
- },
- {
- name: 'Sandra Simpson',
- image: '/avatars/Avatar-4.png',
- },
- {
- name: 'Sophia Price',
- image: '/avatars/Avatar-5.png',
- },
- {
- name: 'Jasmine Ruiz',
- image: '/avatars/Avatar-6.png',
- },
- {
- name: 'Adriana Bonny',
- image: '/avatars/Avatar-7.png',
- },
- {
- name: 'Maya Watson',
- image: '/avatars/Avatar-8.png',
- },
- {
- name: 'Tatum Porter',
- image: '/avatars/Avatar-9.png',
- },
- {
- name: 'Jackson Watts',
- image: '/avatars/Avatar-10.png',
- },
- {
- name: 'Lana Cooper',
- image: '/avatars/Avatar-11.png',
- },
- {
- name: 'Mateo Hoffman',
- image: '/avatars/Avatar-12.png',
- },
- {
- name: 'Harper James',
- image: '/avatars/Avatar-13.png',
- },
- {
- name: 'Edgar Douglas',
- image: '/avatars/Avatar-14.png',
- },
- {
- name: 'Lilly Hale',
- image: '/avatars/Avatar-15.png',
- },
- {
- name: 'Jade Williams',
- image: '/avatars/Avatar-16.png',
- },
- {
- name: 'Cayden Long',
- image: '/avatars/Avatar-17.png',
- },
- {
- name: 'Millie Klein',
- image: '/avatars/Avatar-18.png',
- },
- {
- name: 'Heidi Toffer',
- image: '/avatars/Avatar-19.png',
- },
- {
- name: 'Alaya Bailey',
- image: '/avatars/Avatar-20.png',
- },
- {
- name: 'Laura Diaz',
- image: '/avatars/Avatar-21.png',
- },
- {
- name: 'Alina Gomez',
- image: '/avatars/Avatar-22.png',
- },
- {
- name: 'Rachel Tiffin',
- image: '/avatars/Avatar-23.png',
- },
- {
- name: 'Liz Faxty',
- image: '/avatars/Avatar-24.png',
- },
- {
- name: 'Sarah Goodman',
- image: '/avatars/Avatar-25.png',
- },
- {
- name: 'Melissa Bengin',
- image: '/avatars/Avatar-26.png',
- },
- {
- name: 'Stephanie Morter',
- image: '/avatars/Avatar-27.png',
- },
- {
- name: 'Rebecca Slims',
- image: '/avatars/Avatar-28.png',
- },
- {
- name: 'Arielle May',
- image: '/avatars/Avatar-29.png',
- },
- {
- name: 'Jack Boppes',
- image: '/avatars/Avatar-30.png',
- },
- {
- name: 'Christina Rankin',
- image: '/avatars/Avatar-31.png',
- },
- {
- name: 'Ronan Murf',
- image: '/avatars/Avatar-32.png',
- },
- {
- name: 'Daniel Jackson',
- image: '/avatars/Avatar-33.png',
- },
- {
- name: 'Richard Bales',
- image: '/avatars/Avatar-34.png',
- },
- {
- name: 'Harmony Martin',
- image: '/avatars/Avatar-35.png',
- },
- {
- name: 'Chris Huges',
- image: '/avatars/Avatar-36.png',
- },
- ],
-});
-
-export default PeopleStore;
-
-export const getPeople = (amount) => {
- let tempPeople = [...PeopleStore.getRawState().people];
- return tempPeople.sort(() => Math.random() - Math.random()).slice(0, amount);
-};
-
-// export const markActiveAsDone = () => {
-
-// PeopleStore.update(state => {
-
-// const scoreboardIndex = state.scoreboards.findIndex(scoreboard => scoreboard.active === true);
-// state.scoreboards[scoreboardIndex].done = true;
-// });
-// }
-
-// export const addScoreboard = (players, details) => {
-
-// PeopleStore.update(s => { s.scoreboards = s.scoreboards.map(scoreboard => scoreboard.active = false) });
-
-// PeopleStore.update(state => {
-
-// state.scoreboards.forEach((scoreboard, index) => {
-
-// state.scoreboards[index].active = false;
-// });
-// });
-
-// const newScoreboard = {
-
-// id: Date.now(),
-// title: details.title,
-// players: [ ...players ],
-// active: true
-// };
-
-// const playersToSave = players.filter(p => p.saved === true);
-
-// PeopleStore.update(s => { s.scoreboards = [ ...s.scoreboards, newScoreboard ] });
-// PeopleStore.update(s => { s.players = [ ...s.players, ...playersToSave ] });
-// }
-
-// export const addScoreToPlayer = (scoreboardId, playerIndex) => {
-
-// PeopleStore.update(state => {
-
-// const scoreboardIndex = state.scoreboards.findIndex(scoreboard => scoreboard.id === parseInt(scoreboardId));
-// state.scoreboards[scoreboardIndex].players[playerIndex].score += 1;
-
-// state.scoreboards[scoreboardIndex].players.sort((a, b) => {
-// if (a.score > b.score) return -1
-// return a.score < b.score ? 1 : 0
-// });
-// });
-// }
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/Selectors.js
deleted file mode 100644
index 7af5b18..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/Selectors.js
+++ /dev/null
@@ -1,25 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getAllPeople = createSelector(getState, (state) => state.people);
-export const getCategories = createSelector(getState, (state) => state.categories);
-export const getTalks = createSelector(getState, (state) => state.talks);
-
-// Specific getters
-export const getCategoryTalks = (categoryId) =>
- createSelector(
- getState,
- (state) => state.talks.filter((talk) => parseInt(talk.category_id) === parseInt(categoryId))[0]
- );
-export const getTalk = (id) =>
- createSelector(
- getState,
- (state) => state.talks.filter((talk) => parseInt(talk.id) === parseInt(id))[0]
- );
-export const getCategory = (id) =>
- createSelector(
- getState,
- (state) => state.categories.filter((category) => parseInt(category.id) === parseInt(id))[0]
- );
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/TalkStore.js b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/TalkStore.js
deleted file mode 100644
index 3c64c30..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/TalkStore.js
+++ /dev/null
@@ -1,110 +0,0 @@
-import { Store } from 'pullstate';
-
-const TalkStore = new Store({
- talks: [
- {
- id: 1,
- title: 'The future of design systems',
- date: '29th Oct 2021',
- time: '5:00PM',
- speakers: 3,
- audience: 14,
- category_id: 1,
- },
- {
- id: 2,
- title: 'Lets talk about ReactJS',
- date: '13th Nov 2021',
- time: '2:00PM',
- speakers: 4,
- audience: 239,
- category_id: 2,
- },
- {
- id: 3,
- title: 'How Ionic can transform mobile development',
- date: '21st Nov 2021',
- time: '7:30PM',
- speakers: 2,
- audience: 371,
- category_id: 3,
- },
- {
- id: 4,
- title: 'Using capacitor to access native features',
- date: '25th Nov 2021',
- time: '4:15PM',
- speakers: 2,
- audience: 587,
- category_id: 3,
- },
- {
- id: 5,
- title: 'Does SASS give you an advantage?',
- date: '29th Nov 2021',
- time: '6:00PM',
- speakers: 4,
- audience: 97,
- category_id: 1,
- },
- {
- id: 6,
- title: 'Building a startup from the ground up',
- date: '1st Dec 2021',
- time: '9:00PM',
- speakers: 4,
- audience: 316,
- category_id: 4,
- },
- {
- id: 7,
- title: 'How we went from 9-5 to my own boss',
- date: '12th Dec 2021',
- time: '1:00PM',
- speakers: 2,
- audience: 33,
- category_id: 4,
- },
- {
- id: 8,
- title: 'Features of the beast, Angular',
- date: '19th Dec 2021',
- time: '3:30PM',
- speakers: 3,
- audience: 114,
- category_id: 2,
- },
- ],
-});
-
-export default TalkStore;
-
-export const addTalk = (details) => {
- const newTalk = {
- id: Date.now(),
- title: details.title,
- date: details.date,
- time: details.time,
- speakers: details.speakers,
- audience: Math.random(900),
- category_id: details.category_id,
- };
-
- TalkStore.update((s) => {
- s.talks = [...s.talks, newTalk];
- });
-};
-
-// export const addScoreToPlayer = (scoreboardId, playerIndex) => {
-
-// PeopleStore.update(state => {
-
-// const scoreboardIndex = state.scoreboards.findIndex(scoreboard => scoreboard.id === parseInt(scoreboardId));
-// state.scoreboards[scoreboardIndex].players[playerIndex].score += 1;
-
-// state.scoreboards[scoreboardIndex].players.sort((a, b) => {
-// if (a.score > b.score) return -1
-// return a.score < b.score ? 1 : 0
-// });
-// });
-// }
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/index.js
deleted file mode 100644
index 11d5963..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/store/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as PeopleStore } from './PeopleStore';
-export { default as TalkStore } from './TalkStore';
-export { default as CategoryStore } from './CategoryStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/style.scss b/03_source/mobile.trunk.1/src/pages/DemoClubHouse/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoClubHouse/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/NOTES.md
deleted file mode 100644
index c42d003..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0125
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/components/ExploreContainer.tsx b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/components/ExploreContainer.tsx
deleted file mode 100644
index f003f7f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/components/ExploreContainer.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import './ExploreContainer.css';
-
-interface ContainerProps {
- name: string;
-}
-
-const ExploreContainer: React.FC = ({ name }) => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/index.tsx
deleted file mode 100644
index 714ef07..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/index.tsx
+++ /dev/null
@@ -1,82 +0,0 @@
-// REQ0119/demo-color-tutorial
-//
-// RULES:
-// T.B.A.
-//
-
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, ellipse, searchOutline, square, triangle } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import Tab1 from './pages/Tab1';
-import Tab2 from './pages/Tab2';
-import Tab3 from './pages/Tab3';
-
-import './style.scss';
-
-function DemoColorTutorial() {
- return (
-
- {/*
-
-
-
-
-
-
-
-
-
-
-
- */}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/*
-
-
- Dashboard
-
-
-
- Search
-
- */}
-
- {/* update path base from `/` to `/demo-color-tutorial` */}
-
-
- Tab 1
-
-
-
- Tab 2
-
-
-
- Tab 3
-
-
-
- );
-}
-
-export default DemoColorTutorial;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab1.css b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab1.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab1.tsx
deleted file mode 100644
index af8f8ee..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab1.tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCheckbox,
- IonContent,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonNote,
- IonPage,
- IonRadio,
- IonTitle,
- IonToggle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab1.css';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Tab1: React.FC = () => {
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Tab 1
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Tab 1
-
-
-
- Button
-
-
- Toggle
-
-
-
-
- Checkbox
-
-
-
-
- Badge
- 14 notifications
-
-
-
- Note
- 3 unread
-
-
-
- );
-};
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab2.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab2.tsx
deleted file mode 100644
index 05458aa..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab2.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab2.css';
-
-const Tab2: React.FC = () => {
- return (
-
-
-
- Tab 2
-
-
-
-
-
- Tab 2
-
-
-
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab3.css b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab3.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab3.tsx b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab3.tsx
deleted file mode 100644
index 3a29b8a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/pages/Tab3.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab3.css';
-
-const Tab3: React.FC = () => {
- return (
-
-
-
- Tab 3
-
-
-
-
-
- Tab 3
-
-
-
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/style.scss b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/style.scss
deleted file mode 100644
index 5430344..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/style.scss
+++ /dev/null
@@ -1,256 +0,0 @@
-.demo-color-tutorial {
- /*
-Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/
-*/
-
- /** Ionic CSS Variables **/
- * {
- /** alans color **/
- --ion-color-alans-color: #6c9400;
- --ion-color-alans-color-rgb: 108, 148, 0;
- --ion-color-alans-color-contrast: #ffffff;
- --ion-color-alans-color-contrast-rgb: 255, 255, 255;
- --ion-color-alans-color-shade: #5f8200;
- --ion-color-alans-color-tint: #7b9f1a;
-
- /** primary **/
- --ion-color-primary: #be402f;
- --ion-color-primary-rgb: 190, 64, 47;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #a73829;
- --ion-color-primary-tint: #c55344;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-
- .ion-color-alans-color {
- --ion-color-base: var(--ion-color-alans-color);
- --ion-color-base-rgb: var(--ion-color-alans-color-rgb);
- --ion-color-contrast: var(--ion-color-alans-color-contrast);
- --ion-color-contrast-rgb: var(--ion-color-alans-color-contrast-rgb);
- --ion-color-shade: var(--ion-color-alans-color-shade);
- --ion-color-tint: var(--ion-color-alans-color-tint);
- }
-
- @media (prefers-color-scheme: dark) {
- /*
- * Dark Colors
- * -------------------------------------------
- */
-
- body {
- --ion-color-primary: #428cff;
- --ion-color-primary-rgb: 66, 140, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3a7be0;
- --ion-color-primary-tint: #5598ff;
-
- --ion-color-secondary: #50c8ff;
- --ion-color-secondary-rgb: 80, 200, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #46b0e0;
- --ion-color-secondary-tint: #62ceff;
-
- --ion-color-tertiary: #6a64ff;
- --ion-color-tertiary-rgb: 106, 100, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #5d58e0;
- --ion-color-tertiary-tint: #7974ff;
-
- --ion-color-success: #2fdf75;
- --ion-color-success-rgb: 47, 223, 117;
- --ion-color-success-contrast: #000000;
- --ion-color-success-contrast-rgb: 0, 0, 0;
- --ion-color-success-shade: #29c467;
- --ion-color-success-tint: #44e283;
-
- --ion-color-warning: #ffd534;
- --ion-color-warning-rgb: 255, 213, 52;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0bb2e;
- --ion-color-warning-tint: #ffd948;
-
- --ion-color-danger: #ff4961;
- --ion-color-danger-rgb: 255, 73, 97;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #e04055;
- --ion-color-danger-tint: #ff5b71;
-
- --ion-color-dark: #f4f5f8;
- --ion-color-dark-rgb: 244, 245, 248;
- --ion-color-dark-contrast: #000000;
- --ion-color-dark-contrast-rgb: 0, 0, 0;
- --ion-color-dark-shade: #d7d8da;
- --ion-color-dark-tint: #f5f6f9;
-
- --ion-color-medium: #989aa2;
- --ion-color-medium-rgb: 152, 154, 162;
- --ion-color-medium-contrast: #000000;
- --ion-color-medium-contrast-rgb: 0, 0, 0;
- --ion-color-medium-shade: #86888f;
- --ion-color-medium-tint: #a2a4ab;
-
- --ion-color-light: #222428;
- --ion-color-light-rgb: 34, 36, 40;
- --ion-color-light-contrast: #ffffff;
- --ion-color-light-contrast-rgb: 255, 255, 255;
- --ion-color-light-shade: #1e2023;
- --ion-color-light-tint: #383a3e;
- }
-
- /*
- * iOS Dark Theme
- * -------------------------------------------
- */
-
- .ios body {
- --ion-background-color: #000000;
- --ion-background-color-rgb: 0, 0, 0;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-color-step-50: #0d0d0d;
- --ion-color-step-100: #1a1a1a;
- --ion-color-step-150: #262626;
- --ion-color-step-200: #333333;
- --ion-color-step-250: #404040;
- --ion-color-step-300: #4d4d4d;
- --ion-color-step-350: #595959;
- --ion-color-step-400: #666666;
- --ion-color-step-450: #737373;
- --ion-color-step-500: #808080;
- --ion-color-step-550: #8c8c8c;
- --ion-color-step-600: #999999;
- --ion-color-step-650: #a6a6a6;
- --ion-color-step-700: #b3b3b3;
- --ion-color-step-750: #bfbfbf;
- --ion-color-step-800: #cccccc;
- --ion-color-step-850: #d9d9d9;
- --ion-color-step-900: #e6e6e6;
- --ion-color-step-950: #f2f2f2;
-
- --ion-item-background: #000000;
-
- --ion-card-background: #1c1c1d;
- }
-
- .ios ion-modal {
- --ion-background-color: var(--ion-color-step-100);
- --ion-toolbar-background: var(--ion-color-step-150);
- --ion-toolbar-border-color: var(--ion-color-step-250);
- }
-
- /*
- * Material Design Dark Theme
- * -------------------------------------------
- */
-
- .md body {
- --ion-background-color: #121212;
- --ion-background-color-rgb: 18, 18, 18;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-border-color: #222222;
-
- --ion-color-step-50: #1e1e1e;
- --ion-color-step-100: #2a2a2a;
- --ion-color-step-150: #363636;
- --ion-color-step-200: #414141;
- --ion-color-step-250: #4d4d4d;
- --ion-color-step-300: #595959;
- --ion-color-step-350: #656565;
- --ion-color-step-400: #717171;
- --ion-color-step-450: #7d7d7d;
- --ion-color-step-500: #898989;
- --ion-color-step-550: #949494;
- --ion-color-step-600: #a0a0a0;
- --ion-color-step-650: #acacac;
- --ion-color-step-700: #b8b8b8;
- --ion-color-step-750: #c4c4c4;
- --ion-color-step-800: #d0d0d0;
- --ion-color-step-850: #dbdbdb;
- --ion-color-step-900: #e7e7e7;
- --ion-color-step-950: #f3f3f3;
-
- --ion-item-background: #1e1e1e;
-
- --ion-toolbar-background: #1f1f1f;
-
- --ion-tab-bar-background: #1f1f1f;
-
- --ion-card-background: #1e1e1e;
- }
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/theme/variables.css
deleted file mode 100644
index 5f9d075..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoColorTutorial/theme/variables.css
+++ /dev/null
@@ -1,254 +0,0 @@
-/*
-Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/
-*/
-
-/** Ionic CSS Variables **/
-:root {
- /** alans color **/
- --ion-color-alans-color: #6c9400;
- --ion-color-alans-color-rgb: 108, 148, 0;
- --ion-color-alans-color-contrast: #ffffff;
- --ion-color-alans-color-contrast-rgb: 255, 255, 255;
- --ion-color-alans-color-shade: #5f8200;
- --ion-color-alans-color-tint: #7b9f1a;
-
- /** primary **/
- --ion-color-primary: #be402f;
- --ion-color-primary-rgb: 190, 64, 47;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #a73829;
- --ion-color-primary-tint: #c55344;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-}
-
-.ion-color-alans-color {
- --ion-color-base: var(--ion-color-alans-color);
- --ion-color-base-rgb: var(--ion-color-alans-color-rgb);
- --ion-color-contrast: var(--ion-color-alans-color-contrast);
- --ion-color-contrast-rgb: var(--ion-color-alans-color-contrast-rgb);
- --ion-color-shade: var(--ion-color-alans-color-shade);
- --ion-color-tint: var(--ion-color-alans-color-tint);
-}
-
-@media (prefers-color-scheme: dark) {
- /*
- * Dark Colors
- * -------------------------------------------
- */
-
- body {
- --ion-color-primary: #428cff;
- --ion-color-primary-rgb: 66, 140, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3a7be0;
- --ion-color-primary-tint: #5598ff;
-
- --ion-color-secondary: #50c8ff;
- --ion-color-secondary-rgb: 80, 200, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #46b0e0;
- --ion-color-secondary-tint: #62ceff;
-
- --ion-color-tertiary: #6a64ff;
- --ion-color-tertiary-rgb: 106, 100, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #5d58e0;
- --ion-color-tertiary-tint: #7974ff;
-
- --ion-color-success: #2fdf75;
- --ion-color-success-rgb: 47, 223, 117;
- --ion-color-success-contrast: #000000;
- --ion-color-success-contrast-rgb: 0, 0, 0;
- --ion-color-success-shade: #29c467;
- --ion-color-success-tint: #44e283;
-
- --ion-color-warning: #ffd534;
- --ion-color-warning-rgb: 255, 213, 52;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0bb2e;
- --ion-color-warning-tint: #ffd948;
-
- --ion-color-danger: #ff4961;
- --ion-color-danger-rgb: 255, 73, 97;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #e04055;
- --ion-color-danger-tint: #ff5b71;
-
- --ion-color-dark: #f4f5f8;
- --ion-color-dark-rgb: 244, 245, 248;
- --ion-color-dark-contrast: #000000;
- --ion-color-dark-contrast-rgb: 0, 0, 0;
- --ion-color-dark-shade: #d7d8da;
- --ion-color-dark-tint: #f5f6f9;
-
- --ion-color-medium: #989aa2;
- --ion-color-medium-rgb: 152, 154, 162;
- --ion-color-medium-contrast: #000000;
- --ion-color-medium-contrast-rgb: 0, 0, 0;
- --ion-color-medium-shade: #86888f;
- --ion-color-medium-tint: #a2a4ab;
-
- --ion-color-light: #222428;
- --ion-color-light-rgb: 34, 36, 40;
- --ion-color-light-contrast: #ffffff;
- --ion-color-light-contrast-rgb: 255, 255, 255;
- --ion-color-light-shade: #1e2023;
- --ion-color-light-tint: #383a3e;
- }
-
- /*
- * iOS Dark Theme
- * -------------------------------------------
- */
-
- .ios body {
- --ion-background-color: #000000;
- --ion-background-color-rgb: 0, 0, 0;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-color-step-50: #0d0d0d;
- --ion-color-step-100: #1a1a1a;
- --ion-color-step-150: #262626;
- --ion-color-step-200: #333333;
- --ion-color-step-250: #404040;
- --ion-color-step-300: #4d4d4d;
- --ion-color-step-350: #595959;
- --ion-color-step-400: #666666;
- --ion-color-step-450: #737373;
- --ion-color-step-500: #808080;
- --ion-color-step-550: #8c8c8c;
- --ion-color-step-600: #999999;
- --ion-color-step-650: #a6a6a6;
- --ion-color-step-700: #b3b3b3;
- --ion-color-step-750: #bfbfbf;
- --ion-color-step-800: #cccccc;
- --ion-color-step-850: #d9d9d9;
- --ion-color-step-900: #e6e6e6;
- --ion-color-step-950: #f2f2f2;
-
- --ion-item-background: #000000;
-
- --ion-card-background: #1c1c1d;
- }
-
- .ios ion-modal {
- --ion-background-color: var(--ion-color-step-100);
- --ion-toolbar-background: var(--ion-color-step-150);
- --ion-toolbar-border-color: var(--ion-color-step-250);
- }
-
- /*
- * Material Design Dark Theme
- * -------------------------------------------
- */
-
- .md body {
- --ion-background-color: #121212;
- --ion-background-color-rgb: 18, 18, 18;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-border-color: #222222;
-
- --ion-color-step-50: #1e1e1e;
- --ion-color-step-100: #2a2a2a;
- --ion-color-step-150: #363636;
- --ion-color-step-200: #414141;
- --ion-color-step-250: #4d4d4d;
- --ion-color-step-300: #595959;
- --ion-color-step-350: #656565;
- --ion-color-step-400: #717171;
- --ion-color-step-450: #7d7d7d;
- --ion-color-step-500: #898989;
- --ion-color-step-550: #949494;
- --ion-color-step-600: #a0a0a0;
- --ion-color-step-650: #acacac;
- --ion-color-step-700: #b8b8b8;
- --ion-color-step-750: #c4c4c4;
- --ion-color-step-800: #d0d0d0;
- --ion-color-step-850: #dbdbdb;
- --ion-color-step-900: #e7e7e7;
- --ion-color-step-950: #f3f3f3;
-
- --ion-item-background: #1e1e1e;
-
- --ion-toolbar-background: #1f1f1f;
-
- --ion-tab-bar-background: #1f1f1f;
-
- --ion-card-background: #1e1e1e;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/AppPages/Tab1.jsx
deleted file mode 100644
index d1d807c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,114 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { bookOutline, chevronBackOutline, heart, search } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { useRef } from 'react';
-import { WordStore } from '../store';
-import { getFavourites, getSearchCount } from '../store/Selectors';
-
-const Tab1 = () => {
- const router = useIonRouter();
- const pageRef = useRef(null);
- const favourites = useStoreState(WordStore, getFavourites);
- const searchCount = useStoreState(WordStore, getSearchCount);
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Dashboard
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
-
-
-
- Ionic Dictionary App
- Based on the English language
-
-
-
-
-
-
-
-
-
- Did you know?
- There are 171, 146 words in the English language!
-
- Search now →
-
-
-
-
-
-
-
-
-
-
-
- {favourites.length}
- Favourites
-
-
-
-
-
-
-
- {searchCount}
- Searches
-
-
-
-
-
-
-
- );
-};
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/AppPages/Tab2.jsx
deleted file mode 100644
index bb59c51..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,83 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState, useRef } from 'react';
-import { NoSearch } from '../components/NoSearch';
-import { NoResultsWordCard, WordCard } from '../components/WordCard';
-import { WordStore } from '../store';
-import { searchWord } from '../utils';
-
-const Tab2 = () => {
- const pageRef = useRef(null);
- const [searchTerm, setSearchTerm] = useState('');
- const [searchResult, setSearchResult] = useState(false);
- const [animatedClass, setAnimatedClass] = useState('');
-
- const performSearch = async () => {
- setAnimatedClass('animate__slideOutRight');
- const result = searchTerm !== '' ? await searchWord(searchTerm) : undefined;
-
- setTimeout(() => setSearchResult(result === undefined ? 'none' : result), 250);
- setTimeout(() => setAnimatedClass('animate__slideInLeft'), 250);
-
- WordStore.update((s) => {
- s.searchCount++;
- });
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
-
- setSearchTerm(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
- {searchResult && searchResult !== 'none' && (
-
- )}
-
- {searchResult && searchResult === 'none' && (
-
- )}
-
- {!searchResult && }
-
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/AppPages/Tab3.jsx b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/AppPages/Tab3.jsx
deleted file mode 100644
index 7d8298f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/AppPages/Tab3.jsx
+++ /dev/null
@@ -1,45 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { useRef, useState } from 'react';
-import { NoFavourites } from '../components/NoFavourites';
-import { WordCard } from '../components/WordCard';
-import { WordStore } from '../store';
-import { getFavourites } from '../store/Selectors';
-
-const Tab3 = () => {
- const pageRef = useRef(null);
- const favourites = useStoreState(WordStore, getFavourites);
- const [animatedClass, setAnimatedClass] = useState('animate__slideInLeft');
-
- return (
-
-
-
- Favourites
-
-
-
-
-
- Favourites
-
-
-
- {favourites.map((favourite, index) => {
- return (
-
- );
- })}
-
- {favourites.length < 1 && }
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/NoFavourites.jsx b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/NoFavourites.jsx
deleted file mode 100644
index 0f446f7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/NoFavourites.jsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { IonCol, IonLabel, IonRow } from '@ionic/react';
-
-export const NoFavourites = () => (
-
-
-
- You don't have any favourites yet!
-
- Any time you see the heart icon, press it to add the related word to your favourites and
- quickly access it from here.
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/NoSearch.jsx b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/NoSearch.jsx
deleted file mode 100644
index 27f6fa3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/NoSearch.jsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { IonCol, IonLabel, IonRow } from '@ionic/react';
-
-export const NoSearch = () => (
-
-
-
- Search for a word in the English language
-
- This app will give you word meaninigs, phonetics, origin and also an audio clip so you can
- hear what it sounds like.
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordCard.jsx b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordCard.jsx
deleted file mode 100644
index 9ec2346..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordCard.jsx
+++ /dev/null
@@ -1,129 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonIcon,
- IonNote,
- IonRow,
- useIonModal,
-} from '@ionic/react';
-import { checkmarkCircleOutline, chevronForward, closeCircleOutline } from 'ionicons/icons';
-import WordModal from './WordModal';
-
-export const WordCard = ({ word, animatedClass, pageRef }) => {
- const closeModal = () => {
- hideModal();
- };
-
- const openModal = () => {
- showModal({
- presentingElement: pageRef.current,
- onDidDismiss: hideModal,
- });
- };
-
- const [showModal, hideModal] = useIonModal(WordModal, {
- dismiss: closeModal,
- word,
- });
-
- return (
-
-
-
-
- {word.word}
-
- {word.meanings &&
- word.meanings.map((meaning, index) => {
- return (
-
- {meaning.partOfSpeech}
-
-
- );
- })}
-
- {word.origin}
-
-
-
- {word.meanings.length}
- meanings
-
-
-
- {word.phonetics.length}
- phonetics
-
-
-
-
-
- audio
-
-
-
-
-
-
- View
-
-
-
-
-
-
-
-
- );
-};
-
-export const NoResultsWordCard = ({ word, animatedClass }) => {
- return (
-
-
-
-
- Whoops...
-
- no results
- found
-
-
- No results have been found for your search criteria! Please try another word.
-
-
-
-
- 0
- meanings
-
-
-
- 0
- phonetics
-
-
-
-
-
- audio
-
-
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordCardHeading.jsx b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordCardHeading.jsx
deleted file mode 100644
index ff23fc0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordCardHeading.jsx
+++ /dev/null
@@ -1,10 +0,0 @@
-import { IonText } from "@ionic/react";
-
-export const WordCardHeading = ({ text }) => (
-
-
-
- { text }
-
-
-);
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordMeaning.jsx b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordMeaning.jsx
deleted file mode 100644
index 1f5d3b7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordMeaning.jsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { IonBadge } from '@ionic/react';
-
-export const WordMeaning = ({ meaning, index }) => (
- 0 ? 'ion-padding-top' : ''}>
-
- {meaning.partOfSpeech}
-
-
- {meaning.definitions.map((definition, index2) => {
- return (
-
0 ? 'ion-padding-top' : ''}>
- {index2 + 1}.
- {definition.definition}
-
- );
- })}
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordModal.jsx
deleted file mode 100644
index 0896a4b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/components/WordModal.jsx
+++ /dev/null
@@ -1,122 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCardHeader,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonNote,
- IonPage,
- IonRow,
- IonText,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { heart, heartOutline, play } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { WordStore } from '../store';
-import { getFavourites } from '../store/Selectors';
-import { addToFavourites } from '../store/WordStore';
-import { WordCardHeading } from './WordCardHeading';
-import { WordMeaning } from './WordMeaning';
-
-const WordModal = ({ dismiss, word }) => {
- const favourites = useStoreState(WordStore, getFavourites);
- const isFavourite = favourites.includes(word);
- const audio = word.phonetics[0] ? word.phonetics[0].audio : false;
-
- const playAudio = () => {
- const audioElement = new Audio(`https:${audio}`);
- audioElement.play();
- };
-
- return (
-
-
-
-
- addToFavourites(word)}>
-
-
-
- View Word
-
-
- Close
-
-
-
-
-
-
-
-
-
- {word.word}
-
- {word.meanings &&
- word.meanings.map((meaning, index) => {
- return (
-
-
- {meaning.partOfSpeech}
-
-
-
- );
- })}
-
- {word.origin}
-
-
-
-
-
- {audio && (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- )}
-
-
-
-
-
-
-
- {word.meanings &&
- word.meanings.map((meaning, index) => {
- return ;
- })}
-
-
-
-
-
-
-
- );
-};
-
-export default WordModal;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/index.tsx
deleted file mode 100644
index 8e1f78b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/index.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, heart, search, searchOutline, statsChart } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-import Tab3 from './AppPages/Tab3';
-
-import './style.scss';
-
-function DemoDictionaryApp() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoDictionaryApp;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/notes.md b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/notes.md
deleted file mode 100644
index dbb9c22..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/notes.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0126
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/store/Selectors.js
deleted file mode 100644
index eeb9eb0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/store/Selectors.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = state => state;
-
-// General getters
-export const getFavourites = createSelector(getState, state => state.favourites);
-export const getPopularWords = createSelector(getState, state => state.popularWords);
-export const getSearchCount = createSelector(getState, state => state.searchCount);
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/store/WordStore.js b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/store/WordStore.js
deleted file mode 100644
index 374c814..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/store/WordStore.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import { Store } from "pullstate";
-
-const WordStore = new Store({
-
- favourites: [],
- popularWords: [],
- searchCount: 0
-});
-
-export default WordStore;
-
-export const addToFavourites = (passedWord) => {
-
- const currentFavourites = WordStore.getRawState().favourites;
- const added = !currentFavourites.includes(passedWord);
-
- WordStore.update(s => {
-
- if (currentFavourites.includes(passedWord)) {
-
- s.favourites = currentFavourites.filter(word => word !== passedWord);
- } else {
-
- s.favourites = [ ...s.favourites, passedWord ];
- }
- });
-
- return added;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/store/index.js
deleted file mode 100644
index b232728..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/store/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as WordStore } from "./WordStore";
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/style.scss b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/style.scss
deleted file mode 100644
index bb952e0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/style.scss
+++ /dev/null
@@ -1,240 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-.demo-dictionary-app {
- * {
- /** primary **/
- --ion-color-primary: #953cd0;
- --ion-color-primary-rgb: 149, 60, 208;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #8335b7;
- --ion-color-primary-tint: #a050d5;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #ffffff;
- --ion-color-light-rgb: 255, 255, 255;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #e0e0e0;
- --ion-color-light-tint: #ffffff;
-
- --ion-background-color: #1e1b27 !important;
- --ion-tab-bar-color-selected: #953cd0;
- --ion-tab-bar-color: #412f6e;
- --ion-text-color: white;
- --ion-tab-bar-background: #191620;
- --ion-toolbar-background: #191620 !important;
- --ion-item-background: #000000 !important;
-
- --ion-card-background: #272333 !important;
- --ion-modal-background: #272333 !important;
- }
-
- ion-tab-bar {
- --border-style: none;
- border: none;
- }
-
- /*
- * Dark Colors
- * -------------------------------------------
- */
-
- ion-modal {
- -ms-overflow-style: none; /* for Internet Explorer, Edge */
- scrollbar-width: none; /* for Firefox */
- overflow-y: scroll;
- }
-
- body {
- overflow: hidden !important;
- --ion-color-primary: #953cd0;
- --ion-color-primary-rgb: 149, 60, 208;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #8335b7;
- --ion-color-primary-tint: #a050d5;
-
- --ion-color-secondary: #50c8ff;
- --ion-color-secondary-rgb: 80, 200, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #46b0e0;
- --ion-color-secondary-tint: #62ceff;
-
- --ion-color-tertiary: #6a64ff;
- --ion-color-tertiary-rgb: 106, 100, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #5d58e0;
- --ion-color-tertiary-tint: #7974ff;
-
- --ion-color-success: #2fdf75;
- --ion-color-success-rgb: 47, 223, 117;
- --ion-color-success-contrast: #000000;
- --ion-color-success-contrast-rgb: 0, 0, 0;
- --ion-color-success-shade: #29c467;
- --ion-color-success-tint: #44e283;
-
- --ion-color-warning: #ffd534;
- --ion-color-warning-rgb: 255, 213, 52;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0bb2e;
- --ion-color-warning-tint: #ffd948;
-
- --ion-color-danger: #ff4961;
- --ion-color-danger-rgb: 255, 73, 97;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #e04055;
- --ion-color-danger-tint: #ff5b71;
-
- --ion-color-dark: #f4f5f8;
- --ion-color-dark-rgb: 244, 245, 248;
- --ion-color-dark-contrast: #000000;
- --ion-color-dark-contrast-rgb: 0, 0, 0;
- --ion-color-dark-shade: #d7d8da;
- --ion-color-dark-tint: #f5f6f9;
-
- --ion-color-medium: #989aa2;
- --ion-color-medium-rgb: 152, 154, 162;
- --ion-color-medium-contrast: #000000;
- --ion-color-medium-contrast-rgb: 0, 0, 0;
- --ion-color-medium-shade: #86888f;
- --ion-color-medium-tint: #a2a4ab;
-
- --ion-color-light: #ffffff;
- --ion-color-light-rgb: 255, 255, 255;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #e0e0e0;
- --ion-color-light-tint: #ffffff;
- }
-
- /*
- * iOS Dark Theme
- * -------------------------------------------
- */
-
- .ios body {
- /* --ion-background-color: #000000; */
- /* --ion-background-color-rgb: 0,0,0; */
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-color-step-50: #0d0d0d;
- --ion-color-step-100: #1a1a1a;
- --ion-color-step-150: #262626;
- --ion-color-step-200: #333333;
- --ion-color-step-250: #404040;
- --ion-color-step-300: #4d4d4d;
- --ion-color-step-350: #595959;
- --ion-color-step-400: #666666;
- --ion-color-step-450: #737373;
- --ion-color-step-500: #808080;
- --ion-color-step-550: #8c8c8c;
- --ion-color-step-600: #999999;
- --ion-color-step-650: #a6a6a6;
- --ion-color-step-700: #b3b3b3;
- --ion-color-step-750: #bfbfbf;
- --ion-color-step-800: #cccccc;
- --ion-color-step-850: #d9d9d9;
- --ion-color-step-900: #e6e6e6;
- --ion-color-step-950: #f2f2f2;
- }
-
- /*
- * Material Design Dark Theme
- * -------------------------------------------
- */
-
- .md body {
- /* --ion-background-color: #121212; */
- /* --ion-background-color-rgb: 18,18,18; */
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-border-color: #222222;
-
- --ion-color-step-50: #1e1e1e;
- --ion-color-step-100: #2a2a2a;
- --ion-color-step-150: #363636;
- --ion-color-step-200: #414141;
- --ion-color-step-250: #4d4d4d;
- --ion-color-step-300: #595959;
- --ion-color-step-350: #656565;
- --ion-color-step-400: #717171;
- --ion-color-step-450: #7d7d7d;
- --ion-color-step-500: #898989;
- --ion-color-step-550: #949494;
- --ion-color-step-600: #a0a0a0;
- --ion-color-step-650: #acacac;
- --ion-color-step-700: #b8b8b8;
- --ion-color-step-750: #c4c4c4;
- --ion-color-step-800: #d0d0d0;
- --ion-color-step-850: #dbdbdb;
- --ion-color-step-900: #e7e7e7;
- --ion-color-step-950: #f3f3f3;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/utils.js b/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/utils.js
deleted file mode 100644
index fa5327f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoDictionaryApp/utils.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { WordStore } from './store';
-
-const API_URL = 'https://api.dictionaryapi.dev/api/v2/entries/en/';
-
-export const searchWord = async (word, returnOne = true) => {
- const response = await fetch(`${API_URL}${word.toLowerCase()}`);
- const data = await response.json();
-
- return returnOne ? data[0] : data;
-};
-
-export const fetchPopularWords = async () => {
- const words = ['mobile', 'applications', 'ionic', 'framework'];
-
- words.forEach(async (word) => {
- const wordData = await searchWord(word, false);
- WordStore.update((s) => {
- s.popularWords = [...s.popularWords, wordData[0]];
- });
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/NOTES.md
deleted file mode 100644
index 056b5dc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0127
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/components/ProductCard.module.css b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/components/ProductCard.module.css
deleted file mode 100644
index 7cb75fd..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/components/ProductCard.module.css
+++ /dev/null
@@ -1,72 +0,0 @@
-.categoryPage ion-toolbar {
-
- --border-style: none;
-}
-
-.categoryCard {
-
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-content: center;
- align-items: center;
- /* min-height: 20rem !important; */
-}
-
-.productCardActions {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- width: 100%;
- margin-bottom: 1rem;
-}
-
-.productCardAction {
-
- font-size: 1.1rem;
-}
-
-.productCardHeader {
-
- min-height: 17rem;
-}
-
-.productCardHeader p {
-
- font-size: 0.8rem;
- padding: 0;
- margin: 0;
- margin-top: 0.75rem;
-}
-
-.categoryCardContent {
-
- display: flex;
- flex-direction: column;
-}
-
-.categoryCardContent ion-button {
-
- height: 1.5rem;
- font-size: 0.8rem;
-}
-
-.categoryCardContent p {
-
- font-size: 0.8rem;
- padding: 0;
- margin: 0;
-}
-
-.categoryCard img {
-
- /* border-radius: 5px; */
- /* padding: 1rem; */
-}
-
-.productPrice {
-
- display: flex;
- flex-direction: row;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/components/ProductCard.tsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/components/ProductCard.tsx
deleted file mode 100644
index e3a0266..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/components/ProductCard.tsx
+++ /dev/null
@@ -1,105 +0,0 @@
-import { IonButton, IonCard, IonCardContent, IonCardHeader, IonCol, IonIcon } from '@ionic/react';
-import { arrowRedoOutline, cart, cartOutline, heart, heartOutline } from 'ionicons/icons';
-import { useEffect, useRef, useState } from 'react';
-import { addToCart } from '../data/CartStore';
-import { addToFavourites, FavouritesStore } from '../data/FavouritesStore';
-import styles from './ProductCard.module.css';
-
-const ProductCard = (props): React.FC => {
- const { product, category, index, cartRef } = props;
- const favourites = FavouritesStore.useState((s) => s.product_ids);
-
- const productCartRef = useRef();
- const productFavouriteRef = useRef();
- const [isFavourite, setIsFavourite] = useState(false);
-
- useEffect(() => {
- const tempIsFavourite = favourites.find((f) => f === `${category.slug}/${product.id}`);
- setIsFavourite(tempIsFavourite ? true : false);
- }, [props.product, favourites]);
-
- const addProductToFavourites = (e, categorySlug, productID) => {
- e.preventDefault();
- e.stopPropagation();
- addToFavourites(categorySlug, productID);
-
- productFavouriteRef.current.style.display = '';
- productFavouriteRef.current.classList.add('animate__fadeOutTopRight');
-
- setTimeout(() => {
- if (productCartRef.current) {
- productFavouriteRef.current.classList.remove('animate__fadeOutTopRight');
- productFavouriteRef.current.style.display = 'none';
- }
- }, 500);
- };
-
- const addProductToCart = (e, categorySlug, productID) => {
- e.preventDefault();
- e.stopPropagation();
-
- productCartRef.current.style.display = '';
- productCartRef.current.classList.add('animate__fadeOutUp');
-
- setTimeout(() => {
- cartRef.current.classList.add('animate__tada');
- addToCart(categorySlug, productID);
-
- setTimeout(() => {
- cartRef.current.classList.remove('animate__tada');
- productCartRef.current.style.display = 'none';
- }, 500);
- }, 500);
- };
-
- return (
-
-
-
-
- addProductToFavourites(e, category.slug, product.id)}
- />
-
-
-
-
- {product.name}
-
-
-
-
-
- {product.price}
-
- addProductToCart(e, category.slug, product.id)}>
-
-
-
-
-
-
-
-
- );
-};
-
-export default ProductCard;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/CartStore.ts b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/CartStore.ts
deleted file mode 100644
index c9af57b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/CartStore.ts
+++ /dev/null
@@ -1,18 +0,0 @@
-import { Store } from 'pullstate';
-
-export const CartStore = new Store({
- total: 0,
- product_ids: [],
-});
-
-export const addToCart = (categorySlug, productID) => {
- CartStore.update((s) => {
- s.product_ids = [...s.product_ids, `${categorySlug}/${parseInt(productID)}`];
- });
-};
-
-export const removeFromCart = (productIndex) => {
- CartStore.update((s) => {
- s.product_ids.splice(productIndex, 1);
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/FavouritesStore.ts b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/FavouritesStore.ts
deleted file mode 100644
index 958bd5f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/FavouritesStore.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Store } from 'pullstate';
-
-export const FavouritesStore = new Store({
- total: 0,
- product_ids: [],
-});
-
-export const addToFavourites = (categorySlug, productID) => {
- FavouritesStore.update((s) => {
- if (s.product_ids.find((id) => id === `${categorySlug}/${parseInt(productID)}`)) {
- s.product_ids = s.product_ids.filter((id) => id !== `${categorySlug}/${parseInt(productID)}`);
- } else {
- s.product_ids = [...s.product_ids, `${categorySlug}/${parseInt(productID)}`];
- }
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/ProductStore.ts b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/ProductStore.ts
deleted file mode 100644
index 88def31..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/ProductStore.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { Store } from 'pullstate';
-
-export const ProductStore = new Store({
- products: [],
-});
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/fetcher.ts b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/fetcher.ts
deleted file mode 100644
index 4d026ff..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/data/fetcher.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import { ProductStore } from './ProductStore';
-
-export const fetchData = async () => {
- const json = [
- 'beds.json',
- 'armchairs.json',
- 'coffee_tables.json',
- 'cushions.json',
- 'floor_lamps.json',
- 'office_chairs.json',
- ];
-
- var products = [];
-
- json.forEach(async (category) => {
- const products = await fetchProducts(category);
-
- let categoryName = category.replace('.json', '');
- categoryName = categoryName.replace('_', ' ');
- categoryName = uppercaseWords(categoryName);
-
- const productCategory = {
- name: categoryName,
- slug: category.replace('.json', ''),
- cover: products[6].image,
- products,
- };
-
- ProductStore.update((s) => {
- s.products = [...s.products, productCategory];
- });
- });
-
- return products;
-};
-
-const fetchProducts = async (category) => {
- const response = await fetch(`products/${category}`);
- const data = await response.json();
-
- // Set a product id
- await data.forEach((d, i) => {
- d.id = i + 1;
- });
-
- return data;
-};
-
-const uppercaseWords = (words) => {
- words = words
- .toLowerCase()
- .split(' ')
- .map((s) => s.charAt(0).toUpperCase() + s.substring(1))
- .join(' ');
-
- return words;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/index.tsx
deleted file mode 100644
index 402186a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/index.tsx
+++ /dev/null
@@ -1,71 +0,0 @@
-// REQ0119/demo-ecommerce-example
-//
-// RULES:
-// T.B.A.
-//
-
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import Home from './pages/Home';
-import { fetchData } from './data/fetcher';
-import CategoryProducts from './pages/CategoryProducts';
-import Product from './pages/Product';
-import FavouriteProducts from './pages/FavouriteProducts';
-import CartProducts from './pages/CartProducts';
-
-import './style.scss';
-import React, { useEffect } from 'react';
-
-function DemoEcommerceExample(): React.JSX.Element {
- useEffect(() => {
- fetchData();
- }, []);
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
- Dashboard
-
-
-
- Search
-
-
-
- );
-}
-
-export default DemoEcommerceExample;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/module.d.ts b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/module.d.ts
deleted file mode 100644
index d774364..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/module.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-declare module '*.module.css' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CartProducts.module.css b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CartProducts.module.css
deleted file mode 100644
index 6be2867..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CartProducts.module.css
+++ /dev/null
@@ -1,31 +0,0 @@
-.cartCheckout {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- margin: 1rem;
-}
-
-.cartFooter {
- border-top: 2px solid rgb(200, 200, 200);
- background-color: white;
-}
-
-.cartCheckout ion-card-subtitle {
- font-size: 1.3rem;
-}
-
-.cartItem ion-avatar {
- height: 4rem;
- width: 4rem;
-}
-
-.cartSlider:not(:nth-child(1)) {
- border-top: 2px solid rgb(236, 236, 236);
-}
-
-.cartActions {
- display: flex;
- flex-direction: column;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CartProducts.tsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CartProducts.tsx
deleted file mode 100644
index 208eb31..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CartProducts.tsx
+++ /dev/null
@@ -1,161 +0,0 @@
-import {
- IonAvatar,
- IonBadge,
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonFooter,
- IonHeader,
- IonIcon,
- IonImg,
- IonItem,
- IonItemOption,
- IonItemOptions,
- IonItemSliding,
- IonLabel,
- IonList,
- IonNote,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { cart, checkmarkSharp, chevronBackOutline, trashOutline } from 'ionicons/icons';
-import React, { useEffect, useRef, useState } from 'react';
-import { CartStore, removeFromCart } from '../data/CartStore';
-import { ProductStore } from '../data/ProductStore';
-
-import styles from './CartProducts.module.css';
-
-const CartProducts = (): React.JSX.Element => {
- const cartRef = useRef(null);
- const products = ProductStore.useState((s) => s.products);
- const shopCart = CartStore.useState((s) => s.product_ids);
- const [cartProducts, setCartProducts] = useState([]);
- const [amountLoaded, setAmountLoaded] = useState(6);
-
- const [total, setTotal] = useState(0);
-
- useEffect(() => {
- const getCartProducts = () => {
- setCartProducts([]);
- setTotal(0);
-
- shopCart.forEach((product) => {
- var favouriteParts = product.split('/');
- var categorySlug = favouriteParts[0];
- var productID = favouriteParts[1];
-
- const tempCategory = products.filter((p) => p.slug === categorySlug)[0];
- const tempProduct = tempCategory.products.filter(
- (p) => parseInt(p.id) === parseInt(productID)
- )[0];
-
- const tempCartProduct = {
- category: tempCategory,
- product: tempProduct,
- };
-
- setTotal((prevTotal) => prevTotal + parseInt(tempProduct.price.replace('£', '')));
- setCartProducts((prevSearchResults) => [...prevSearchResults, tempCartProduct]);
- });
- };
-
- getCartProducts();
- }, [shopCart]);
-
- const fetchMore = async (e) => {
- // Increment the amount loaded by 6 for the next iteration
- setAmountLoaded((prevAmount) => prevAmount + 6);
- e.target.complete();
- };
-
- const removeProductFromCart = async (index) => {
- removeFromCart(index);
- };
-
- return (
-
-
-
-
-
-
- Categories
-
-
- Cart
-
-
- {shopCart.length}
-
-
-
-
-
-
-
-
-
-
-
- {cartProducts && cartProducts.length}{' '}
- {cartProducts.length > 1 || cartProducts.length === 0 ? ' products' : ' product'}{' '}
- found
-
-
-
-
-
- {cartProducts &&
- cartProducts.map((product, index) => {
- if (index <= amountLoaded) {
- return (
-
-
-
-
-
-
- {product.category.name}
- {product.product.name}
-
-
-
- {product.product.price}
-
-
-
-
- removeProductFromCart(index)}
- >
-
-
-
-
- );
- }
- })}
-
-
-
-
-
- £{total.toFixed(2)}
-
-
-
- Checkout
-
-
-
-
- );
-};
-
-export default CartProducts;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CategoryProducts.module.css b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CategoryProducts.module.css
deleted file mode 100644
index e42a0b1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CategoryProducts.module.css
+++ /dev/null
@@ -1,10 +0,0 @@
-.categoryPage ion-toolbar {
-
- --border-style: none;
-}
-
-.search {
-
- --background: rgb(240, 240, 240);
- --color: black;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CategoryProducts.tsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CategoryProducts.tsx
deleted file mode 100644
index ccbd65a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/CategoryProducts.tsx
+++ /dev/null
@@ -1,134 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonNote,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { cart, chevronBackOutline, searchOutline } from 'ionicons/icons';
-import { useEffect, useRef, useState } from 'react';
-import { useParams } from 'react-router';
-import ProductCard from '../components/ProductCard';
-
-import { CartStore } from '../data/CartStore';
-import { ProductStore } from '../data/ProductStore';
-
-import styles from './CategoryProducts.module.css';
-
-const CategoryProducts = () => {
- const params = useParams();
- const cartRef = useRef();
- const products = ProductStore.useState((s) => s.products);
- const shopCart = CartStore.useState((s) => s.product_ids);
- const [category, setCategory] = useState({});
- const [searchResults, setsearchResults] = useState([]);
- const [amountLoaded, setAmountLoaded] = useState(6);
-
- useEffect(() => {
- const categorySlug = params.slug;
- const tempCategory = products.filter((p) => p.slug === categorySlug)[0];
- setCategory(tempCategory);
- setsearchResults(tempCategory.products);
- }, [params.slug]);
-
- const fetchMore = async (e) => {
- // Increment the amount loaded by 6 for the next iteration
- setAmountLoaded((prevAmount) => prevAmount + 6);
- e.target.complete();
- };
-
- const search = async (e) => {
- const searchVal = e.target.value;
-
- if (searchVal !== '') {
- const tempResults = category.products.filter((p) =>
- p.name.toLowerCase().includes(searchVal.toLowerCase())
- );
- setsearchResults(tempResults);
- } else {
- setsearchResults(category.products);
- }
- };
-
- return (
-
-
-
-
-
-
- Categories
-
-
- {category && category.name}
-
-
- {shopCart.length}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {searchResults && searchResults.length}{' '}
- {searchResults.length > 1 || searchResults.length === 0 ? ' products' : ' product'}{' '}
- found
-
-
-
-
-
- {searchResults &&
- searchResults.map((product, index) => {
- if (index <= amountLoaded && product.image) {
- return (
-
- );
- }
- })}
-
-
-
-
-
-
-
-
- );
-};
-
-export default CategoryProducts;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/FavouriteProducts.tsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/FavouriteProducts.tsx
deleted file mode 100644
index 7543053..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/FavouriteProducts.tsx
+++ /dev/null
@@ -1,131 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonNote,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { cart, chevronBackOutline } from 'ionicons/icons';
-import { useEffect, useRef, useState } from 'react';
-import ProductCard from '../components/ProductCard';
-import { CartStore } from '../data/CartStore';
-import { FavouritesStore } from '../data/FavouritesStore';
-import { ProductStore } from '../data/ProductStore';
-
-import styles from './CategoryProducts.module.css';
-
-const FavouriteProducts = () => {
- const cartRef = useRef(null);
- const products = ProductStore.useState((s) => s.products);
- const favourites = FavouritesStore.useState((s) => s.product_ids);
- const shopCart = CartStore.useState((s) => s.product_ids);
- const [searchResults, setSearchResults] = useState([]);
- const [amountLoaded, setAmountLoaded] = useState(6);
-
- useEffect(() => {
- const getFavourites = () => {
- setSearchResults([]);
-
- favourites.forEach((favourite) => {
- var favouriteParts = favourite.split('/');
- var categorySlug = favouriteParts[0];
- var productID = favouriteParts[1];
-
- const tempCategory = products.filter((p) => p.slug === categorySlug)[0];
- const tempProduct = tempCategory.products.filter(
- (p) => parseInt(p.id) === parseInt(productID)
- )[0];
-
- const tempFavourite = {
- category: tempCategory,
- product: tempProduct,
- };
-
- setSearchResults((prevSearchResults) => [...prevSearchResults, tempFavourite]);
- });
- };
-
- getFavourites();
- }, [favourites]);
-
- const fetchMore = async (e) => {
- // Increment the amount loaded by 6 for the next iteration
- setAmountLoaded((prevAmount) => prevAmount + 6);
- e.target.complete();
- };
-
- return (
-
-
-
-
-
-
- Categories
-
-
- Favourites
-
-
- {shopCart.length}
-
-
-
-
-
-
-
-
-
-
-
-
- {searchResults && searchResults.length}{' '}
- {searchResults.length > 1 || searchResults.length === 0
- ? ' favourites'
- : ' favourite'}{' '}
- found
-
-
-
-
-
- {searchResults &&
- searchResults.map((product, index) => {
- if (index <= amountLoaded) {
- return (
-
- );
- }
- })}
-
-
-
-
-
-
-
-
- );
-};
-
-export default FavouriteProducts;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Home.module.css b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Home.module.css
deleted file mode 100644
index e543907..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Home.module.css
+++ /dev/null
@@ -1,42 +0,0 @@
-.homePage ion-toolbar {
-
- --border-style: none;
-}
-
-.logo {
-
- margin-top: 0.25rem;
- color: var(--ion-color-primary);
-}
-
-.categoryCard,
-.categoryCardContent {
-
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-content: center;
- align-items: center;
-}
-
-.categoryCardContent ion-button {
-
- height: 1.5rem;
- font-size: 0.8rem;
-}
-
-.categoryCardContent {
-
- background-color: rgb(238, 238, 238);
-}
-
-.categoryCardContent ion-card-subtitle {
-
- /* color: rgb(78, 78, 78); */
-}
-
-.categoryCard img {
-
- /* border-radius: 5px; */
- padding: 1rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Home.tsx
deleted file mode 100644
index 25cb577..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Home.tsx
+++ /dev/null
@@ -1,88 +0,0 @@
-import { useState } from 'react';
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-
-import styles from './Home.module.css';
-import { cart, heart } from 'ionicons/icons';
-
-import { ProductStore } from '../data/ProductStore';
-import { FavouritesStore } from '../data/FavouritesStore';
-import { CartStore } from '../data/CartStore';
-
-const Home = () => {
- const products = ProductStore.useState((s) => s.products);
- const favourites = FavouritesStore.useState((s) => s.product_ids);
- const shopCart = CartStore.useState((s) => s.product_ids);
-
- return (
-
-
-
- Categories
-
-
- Ionic Furniture
-
-
-
- {favourites.length}
-
-
-
-
- {shopCart.length}
-
-
-
-
-
-
-
-
-
-
- Categories
-
-
-
-
-
- {products.map((category, index) => {
- return (
-
-
-
-
-
- {category.name}
-
-
-
- );
- })}
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Product.module.css b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Product.module.css
deleted file mode 100644
index 253b7ed..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Product.module.css
+++ /dev/null
@@ -1,66 +0,0 @@
-.categoryPage ion-toolbar {
-
- --border-style: none;
-}
-
-.categoryCard {
-
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-content: center;
- align-items: center;
- text-align: center;
-}
-
-.productCardActions {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- width: 100%;
- margin-bottom: 1rem;
-}
-
-.productCardAction {
-
- font-size: 1.1rem;
-}
-
-.productCardHeader {
-
- min-height: 17rem;
-}
-
-.productCardHeader p {
-
- font-size: 1.2rem;
- padding: 0;
- margin: 0;
- margin-top: 0.75rem;
-}
-
-.categoryCardContent {
-
- display: flex;
- flex-direction: column;
- text-align: center;
-}
-
-.categoryCardContent ion-button {
-
- font-size: 0.8rem;
-}
-
-.categoryCardContent p {
-
- font-size: 1.5rem;
- padding: 0;
- margin: 0;
-}
-
-.productPrice {
-
- display: flex;
- flex-direction: row;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Product.tsx b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Product.tsx
deleted file mode 100644
index c7c7f18..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/pages/Product.tsx
+++ /dev/null
@@ -1,210 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCardHeader,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import {
- arrowRedoOutline,
- cart,
- cartOutline,
- chevronBackOutline,
- heart,
- heartOutline,
-} from 'ionicons/icons';
-import { useEffect, useRef, useState } from 'react';
-import { useParams } from 'react-router';
-import ProductCard from '../components/ProductCard';
-import { addToCart, CartStore } from '../data/CartStore';
-import { addToFavourites, FavouritesStore } from '../data/FavouritesStore';
-import { ProductStore } from '../data/ProductStore';
-
-import styles from './Product.module.css';
-
-const Product = () => {
- const params = useParams();
- const cartRef = useRef(null);
- const products = ProductStore.useState((s) => s.products);
- const favourites = FavouritesStore.useState((s) => s.product_ids);
- const [isFavourite, setIsFavourite] = useState(false);
- const shopCart = CartStore.useState((s) => s.product_ids);
- const [product, setProduct] = useState({});
- const [category, setCategory] = useState({});
-
- useEffect(() => {
- const categorySlug = params.slug;
- const productID = params.id;
- const tempCategory = products.filter((p) => p.slug === categorySlug)[0];
- const tempProduct = tempCategory.products.filter(
- (p) => parseInt(p.id) === parseInt(productID)
- )[0];
-
- const tempIsFavourite = favourites.find((f) => f === `${categorySlug}/${productID}`);
-
- setIsFavourite(tempIsFavourite);
- setCategory(tempCategory);
- setProduct(tempProduct);
- }, [params.slug, params.id]);
-
- useEffect(() => {
- const tempIsFavourite = favourites.find((f) => f === `${category.slug}/${product.id}`);
- setIsFavourite(tempIsFavourite ? true : false);
- }, [favourites, product]);
-
- const addProductToFavourites = (e, categorySlug, productID) => {
- e.preventDefault();
- addToFavourites(categorySlug, productID);
-
- document.getElementById(
- `placeholder_favourite_product_${categorySlug}_${productID}`
- ).style.display = '';
- document
- .getElementById(`placeholder_favourite_product_${categorySlug}_${productID}`)
- .classList.add('animate__fadeOutTopRight');
- };
-
- const addProductToCart = (e, categorySlug, productID) => {
- e.preventDefault();
-
- document.getElementById(`placeholder_cart_${categorySlug}_${productID}`).style.display = '';
- document
- .getElementById(`placeholder_cart_${categorySlug}_${productID}`)
- .classList.add('animate__fadeOutUp');
-
- setTimeout(() => {
- cartRef.current.classList.add('animate__tada');
- addToCart(categorySlug, productID);
-
- setTimeout(() => {
- cartRef.current.classList.remove('animate__tada');
- }, 500);
- }, 500);
- };
-
- return (
-
-
-
-
-
-
- {category.name}
-
-
-
- View Product
-
-
- {shopCart.length}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- addProductToFavourites(e, category.slug, product.id)}
- />
-
-
-
-
- {product.name}
-
-
-
-
-
- {product.price}
-
- addProductToCart(e, category.slug, product.id)}
- >
-
- Add to Cart
-
-
-
-
-
-
-
-
-
-
-
- Similar products...
-
-
-
-
- {category &&
- category.products &&
- category.products.map((similar, index) => {
- if (similar.id !== product.id && product.image && index < 4) {
- return (
-
- );
- }
- })}
-
-
-
-
- );
-};
-
-export default Product;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/style.scss b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/theme/variables.css
deleted file mode 100644
index 985de6f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoEcommerceExample/theme/variables.css
+++ /dev/null
@@ -1,81 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-:root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-
- --ion-toolbar-color: black;
- --ion-grid-column-padding: 0rem;
- /* --ion-toolbar-background: var(--ion-color-warning); */
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/NOTES.md
deleted file mode 100644
index bb7672c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0128
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/ExploreContainer.tsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/ExploreContainer.tsx
deleted file mode 100644
index f003f7f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/ExploreContainer.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import './ExploreContainer.css';
-
-interface ContainerProps {
- name: string;
-}
-
-const ExploreContainer: React.FC = ({ name }) => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/Post.tsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/Post.tsx
deleted file mode 100644
index 275e4ad..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/Post.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonAvatar,
- IonButton,
- IonCol,
- IonIcon,
- IonImg,
- IonItem,
- IonLabel,
- IonRow,
- IonText,
-} from '@ionic/react';
-import {
- arrowRedoOutline,
- chatboxOutline,
- ellipsisHorizontal,
- globe,
- heart,
- thumbsUp,
- thumbsUpOutline,
-} from 'ionicons/icons';
-import '../pages/Tab2.css';
-import React from 'react';
-
-const Post = (props): React.JSX.Element => {
- const { post } = props;
-
- return (
-
-
-
-
-
-
-
-
-
- {post.name}
-
- {post.sponsored ? 'Sponsored' : post.time}
-
-
-
-
-
-
-
-
-
- {post.message}
-
-
- {post.image &&
}
-
- {post.sponsored && (
-
-
- ionicframework.com
- Start building apps today!
-
-
-
Learn more
-
- )}
-
-
-
-
-
-
-
- {post.sponsored &&
{post.views} Views
}
-
-
-
-
-
- Like
-
-
-
-
- Comment
-
-
-
-
- Share
-
-
-
-
-
- );
-};
-
-export default Post;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/Tabs.tsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/Tabs.tsx
deleted file mode 100644
index 8a1c7d2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/components/Tabs.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import React from 'react';
-import { IonIcon, IonLabel, IonTabBar, IonTabButton, IonTabs, IonRouterOutlet } from '@ionic/react';
-import { Redirect, Route } from 'react-router-dom';
-import Tab1 from '../pages/Tab1';
-import Tab2 from '../pages/Tab2';
-import Tab3 from '../pages/Tab3';
-import { chatboxOutline, cogOutline, personOutline } from 'ionicons/icons';
-
-const Tabs = (props): React.JSX.Element => {
- return (
-
-
- } />
- } />
- } />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Tabs;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/index.tsx
deleted file mode 100644
index 545fc4e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/index.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import Tab1 from './pages/Tab1';
-import Tab2 from './pages/Tab2';
-import Tab3 from './pages/Tab3';
-import Tabs from './components/Tabs';
-
-import './style.scss';
-
-function DemoFacebookClone() {
- return (
-
- } />
- } />
-
-
-
- );
-}
-
-export default DemoFacebookClone;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/main/messages.js b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/main/messages.js
deleted file mode 100644
index 0d37b93..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/main/messages.js
+++ /dev/null
@@ -1,105 +0,0 @@
-export const messages = [
- {
- name: 'Ionic Framework',
- avatar: 'https://pbs.twimg.com/profile_images/1148952014036054016/xxv7lLvp_400x400.jpg',
- message: '',
- online: false,
- last_message_sent: 3,
- new_message_count: 2,
- },
- {
- name: 'Capacitor JS',
- avatar: 'https://pbs.twimg.com/profile_images/1268235262641004544/OLW1xl7t_400x400.png',
- message: '',
- online: true,
- last_message_sent: 9,
- new_message_count: 0,
- },
- {
- name: 'Max Lynch',
- avatar: 'https://pbs.twimg.com/profile_images/1318970727173885953/bln98FNj_400x400.jpg',
- message: '',
- online: true,
- last_message_sent: 15,
- new_message_count: 0,
- },
- {
- name: 'Ben Sperry',
- avatar: 'https://pbs.twimg.com/profile_images/1328390491126308864/jHHgl5Dm_400x400.jpg',
- message: '',
- online: false,
- last_message_sent: 27,
- new_message_count: 0,
- },
- {
- name: 'Matt Netkow',
- avatar: 'https://pbs.twimg.com/profile_images/1323383930150621187/GKc0nVzi_400x400.jpg',
- message: '',
- online: false,
- last_message_sent: 31,
- new_message_count: 1,
- },
- {
- name: 'Liam DeBeasi',
- avatar: 'https://pbs.twimg.com/profile_images/1105953692669366273/ZNK4lRAJ_400x400.jpg',
- message: '',
- online: true,
- last_message_sent: 41,
- new_message_count: 0,
- },
- {
- name: 'Mike Hartington',
- avatar: 'https://pbs.twimg.com/profile_images/1084993841898446849/DJ8XtR6L_400x400.jpg',
- message: '',
- online: false,
- last_message_sent: 47,
- new_message_count: 0,
- },
- {
- name: 'Adam Bradley',
- avatar: 'https://pbs.twimg.com/profile_images/909075942320025600/hfYqicUk_400x400.jpg',
- message: '',
- online: true,
- last_message_sent: 51,
- new_message_count: 0,
- },
- {
- name: 'Brody Kidd',
- avatar: 'https://pbs.twimg.com/profile_images/477539679567228928/JObyaUW__400x400.jpeg',
- message: '',
- online: true,
- last_message_sent: 53,
- new_message_count: 0,
- },
-];
-
-export const posts = [
- {
- name: 'Max Lynch',
- sponsored: false,
- time: '12 m',
- avatar: 'https://pbs.twimg.com/profile_images/1318970727173885953/bln98FNj_400x400.jpg',
- message: 'Join a global community of web native developers!',
- views: '',
- online: true,
- },
- {
- name: 'Ben Sperry',
- sponsored: false,
- image: 'https://ionicons.com/assets/img/meta/ionicons-og.png',
- time: '1 h',
- avatar: 'https://pbs.twimg.com/profile_images/1328390491126308864/jHHgl5Dm_400x400.jpg',
- message: 'Check out all the cool IonIcons used on this IonicBook app!',
- views: '',
- online: false,
- },
- {
- name: 'Matt Netkow',
- sponsored: false,
- time: '2 h',
- avatar: 'https://pbs.twimg.com/profile_images/1323383930150621187/GKc0nVzi_400x400.jpg',
- message: 'I help web developers build cross-platform Web Native apps.',
- views: '',
- online: false,
- },
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/MessageItem.tsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/MessageItem.tsx
deleted file mode 100644
index 4c4d3b3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/MessageItem.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { IonAvatar, IonBadge, IonImg, IonItem, IonLabel } from '@ionic/react';
-import React from 'react';
-
-const MessageItem = (props): React.JSX.Element => {
- return (
-
-
-
-
- {props.message.online &&
}
-
-
- {props.message.name}
- This is a test message for a messenger item
-
-
-
-
{props.message.last_message_sent} min
- {props.message.new_message_count > 0 && (
-
{props.message.new_message_count}
- )}
-
-
- );
-};
-
-export default MessageItem;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab1.css b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab1.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab1.tsx
deleted file mode 100644
index 2ccdb20..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab1.tsx
+++ /dev/null
@@ -1,73 +0,0 @@
-import {
- IonAvatar,
- IonBackButton,
- IonBadge,
- IonButton,
- IonButtons,
- IonContent,
- IonFab,
- IonFabButton,
- IonHeader,
- IonIcon,
- IonImg,
- IonItem,
- IonLabel,
- IonList,
- IonPage,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { addOutline, searchOutline } from 'ionicons/icons';
-import ExploreContainer from '../components/ExploreContainer';
-import { messages } from '../main/messages';
-import MessageItem from './MessageItem';
-import './Tab1.css';
-
-const Tab1 = () => {
- return (
-
-
-
- Messages
-
-
-
-
-
- @93alan
-
-
-
-
-
-
-
-
-
-
-
-
- Messages
-
-
-
-
- {messages.map((message, index) => {
- return ;
- })}
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab2.css
deleted file mode 100644
index 6cb99f6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab2.css
+++ /dev/null
@@ -1,373 +0,0 @@
-.timeline-toolbar {
-
- display: flex;
- flex-direction: row !important;
-}
-
-.toolbar-title {
-
- font-size: 1.8rem;
- font-weight: 700;
- margin-left: 0.5rem;
-}
-
-.toolbar-icons {
-
- margin-right: 0.5rem;
- background-color: white;
-}
-
-.toolbar-icons ion-icon {
-
- color: black;
- background-color:rgb(235, 235, 235);
- border-radius: 500px;
- font-size: 1.5rem;
- margin-left: 0.5rem;
- padding: 0.3rem;
-}
-
-.second-toolbar {
-
- border-bottom: 0.1px solid rgb(144, 144, 144);
- padding-top: 0.75rem;
- background-color: white;
- position: fixed;
- width: 100%;
- z-index: 9999999;
-}
-
-.second-toolbar ion-col ion-icon {
-
- font-size: 1.75rem;
- color: rgb(138, 138, 138);
-}
-
-.second-toolbar ion-col ion-icon.selected {
-
- /* border-bottom: 5px solid var(--ion-color-primary); */
-}
-
-.selected-icon {
-
- border-bottom: 1.5px solid var(--ion-color-primary);
-}
-
-.top-input-container {
-
- border-bottom: 0.1px solid rgb(200, 200, 200);
- padding-top: 0.5rem;
- padding-bottom: 0.5rem;
- background-color: white;
- margin-top: 3.5rem;
-}
-
-.top-input {
-
- border: 1px solid rgb(149, 149, 149);
- border-radius: 25px;
- padding-left: 1rem !important;
- height: 2.2rem;
-}
-
-.below-input-label-container {
-
- border-bottom: 1px solid rgb(185, 185, 185);
- background-color: white;
-}
-
-.below-input-label {
-
- margin-top: 0.8rem;
- margin-bottom: 0.8rem;
-}
-
-.below-input-label:not(:last-child) {
-
- border-right: 1px solid rgb(167, 167, 167);
-}
-
-.below-input-label ion-text {
-
- color: rgb(114, 114, 114);
- font-size: 0.8rem;
- font-weight: 700 !important;
- margin-left: 1.7rem;
-}
-
-.below-input-label ion-icon {
-
- font-size: 1.2rem;
- margin-right: 0.5rem;
- position: absolute;
-}
-
-.timeline-bg {
-
- --background:rgb(218, 218, 218) !important;
-}
-
-.rooms-container {
-
- background-color: white;
- margin-top: 0.5rem;
- padding-top: 0.5rem;
- padding-bottom: 0.5rem;
- border-bottom: 0.1px solid rgb(144, 144, 144);
- border-top: 0.1px solid rgb(144, 144, 144);
-}
-
-.rooms-people-container {
-
- white-space: nowrap;
- position: relative;
- overflow-x: scroll;
- overflow-y: hidden;
- -webkit-overflow-scrolling: touch;
- display: flex;
- flex-direction: row;
- width: 70%;
-}
-
-.rooms-people-container ion-avatar {
-
- height: 2.5rem;
- width: 2.5rem;
-}
-
-.rooms-people-container div {
-
- margin-top: 0.4rem !important;
- margin-right: 1rem !important;
-}
-
-.rooms-create {
-
- border: 1px solid rgb(149, 225, 255);
- border-radius: 70px;
- justify-content: center;
- flex-direction: row;
- padding: 0.2rem !important;
-
-}
-
-.rooms-create ion-icon {
-
- font-size: 1.5rem !important;
- margin-left: 0.5rem !important;
- margin-top: 0.3rem !important;
- float: left !important;
-}
-
-.rooms-create ion-text {
-
- font-size: 0.7rem !important;
- color:rgb(136, 136, 136) !important;
- font-weight: 700 !important;
- margin: 0 !important;
- padding: 0 !important;
- line-height: -1rem !important;
-}
-
-.rooms-online {
-
- height: 13px !important;
- width: 13px !important;
- border-radius: 500px !important;
- border: 2px solid white !important;
- background-color: green !important;
- z-index: 9999 !important;
- position: absolute !important;
- margin-left: 0.5rem !important;
- margin-top: -0.8rem !important;
-}
-
-.post {
-
- margin-top: 0.5rem !important;
-}
-
-.post-container {
-
- background-color: white !important;
-}
-
-.post-header {
-
- /* padding: none !important; */
- /* margin: none !important; */
-}
-
-.post-header {
-
- padding-top: 0.5rem !important;
- padding-left: 0.5rem !important;
- z-index: 9999;
-}
-
-.post-header ion-avatar {
-
- /* border: 2px solid rgb(164, 222, 255); */
-}
-
-.post-header ion-label {
-
- margin-left: 0.5rem !important;
- z-index: 99999 !important;
-}
-
-.post-header ion-label h3 {
-
- font-weight: 600 !important;
-}
-
-.post-header ion-label p ion-icon {
-
- position: absolute !important;
- margin-top: 0.15rem !important;
-}
-
-.post-header ion-icon {
-
- color: rgb(133, 133, 133) !important;
-}
-
-.post-content {
-
- padding-left: 0.5rem !important;
- margin-top: -0.7rem !important;
-}
-
-.post-link {
-
- padding-left: 0.5rem !important;
- background-color: rgb(245, 245, 245) !important;
- display: flex !important;
- flex-direction: row !important;
- justify-content: space-between !important;
- padding-top: 0.75rem !important;
- padding-bottom: 0.75rem !important;
-}
-
-.post-link ion-button {
-
- margin-right: 0.5rem !important;
- --background: rgb(245, 245, 245) !important;
- border: 1px solid rgb(98, 98, 98) !important;
- border-radius: 8px !important;
- color: rgb(98, 98, 98) !important;
- text-transform: uppercase !important;
- font-size: 0.8rem !important;
-}
-
-.post-likes {
-
- padding-left: 0.5rem !important;
- padding-top: 0.5rem !important;
- padding-bottom: 0.5rem !important;
- display: flex !important;
- flex-direction: row !important;
- justify-content: space-between !important;
-}
-
-.post-like-icons {
-
- margin-top: 0.2rem !important;
-}
-
-.post-likes ion-icon:not(:last-child) {
-
- background-color: rgb(70, 128, 255) !important;
-}
-
-.post-likes ion-icon:last-child {
-
- background-color: rgb(255, 76, 76) !important;
- margin-left: -0.5rem !important;
-}
-
-.post-likes ion-icon {
-
- color: white !important;
- border-radius: 100px !important;
- padding: 0.2rem !important;
- border: 2px solid white !important;
-}
-
-.post-likes p {
-
- padding: none !important;
- margin: none !important;
- margin-top: 0.4rem !important;
- font-size: 0.8rem !important;
- margin-right: 0.5rem !important;
- color: rgb(156, 156, 156) !important;
-
-}
-
-.post-image {
-
- padding: none !important;
- margin: none !important;
-}
-
-.post-image ion-img {
-
- width: 100% !important;
-}
-
-.post-content p {
-
- font-size: 1rem !important;
-}
-
-.post-actions {
-
- background-color: white !important;
- display: flex !important;
- flex-direction: row !important;
- justify-content: space-between !important;
- border-top: 0.1px solid rgb(228, 228, 228) !important;
- padding-top: 0.5rem !important;
- padding-bottom: 0.2rem !important;
-}
-
-.post-actions ion-col {
-
- margin-left: -1rem !important;
-}
-
-.post-actions ion-col:first-child {
-
- margin-right: -2rem !important;
-}
-
-.post-actions ion-col:last-child {
-
- margin-right: 2rem !important;
-}
-
-.post-actions ion-col ion-icon {
-
- font-size: 1.4rem !important;
- color:rgb(105, 105, 105) !important;
-}
-
-.post-actions ion-col ion-text {
-
- font-size: 0.8rem !important;
- color: rgb(107, 107, 107) !important;
- margin-top: 0.2rem !important;
- margin-left: 0.5rem !important;
- position: absolute !important;
-}
-
-/*
- */
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab2.tsx
deleted file mode 100644
index 9b7f202..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab2.tsx
+++ /dev/null
@@ -1,242 +0,0 @@
-import {
- IonAvatar,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonImg,
- IonInput,
- IonItem,
- IonLabel,
- IonPage,
- IonRouterLink,
- IonRow,
- IonSearchbar,
- IonText,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import {
- searchOutline,
- chatboxOutline,
- playCircleOutline,
- bagOutline,
- homeOutline,
- menuOutline,
- flagOutline,
- notificationsOutline,
- homeSharp,
- home,
- videocam,
- images,
- globe,
- ellipse,
- ellipsisHorizontal,
- thumbsUp,
- heart,
- thumbsUpOutline,
- shareOutline,
- arrowRedoOutline,
- chevronBackOutline,
-} from 'ionicons/icons';
-import ExploreContainer from '../components/ExploreContainer';
-import Post from '../components/Post';
-import { messages, posts } from '../main/messages';
-import './Tab2.css';
-import React from 'react';
-
-const Tab2 = (): React.JSX.Element => {
- const router = useIonRouter();
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
- handleBackClick()}>
-
-
-
-
- ionicbook
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Live
-
-
-
-
- Photo
-
-
-
-
- Room
-
-
-
-
-
-
-
-
- Create
-
- Room
-
-
-
-
-
- {messages.map((message, index) => {
- if (index > 1) {
- return (
-
-
-
-
- {message.online && }
-
- );
- }
- })}
-
-
-
-
-
-
-
-
-
-
-
-
- Ionic Framework
-
- Sponsored
-
-
-
-
-
-
-
-
- Build cross-platform web native mobile apps with one codebase! 🎉
-
-
- {/*
*/}
-
- {/* */}
-
-
-
- ionicframework.com
- Start building apps today!
-
-
-
Learn more
-
-
-
-
-
-
-
- Like
-
-
-
-
- Comment
-
-
-
-
- Share
-
-
-
-
-
-
- {posts.map((post, index) => {
- return ;
- })}
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab3.css b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab3.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab3.tsx b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab3.tsx
deleted file mode 100644
index 3a29b8a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/pages/Tab3.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab3.css';
-
-const Tab3: React.FC = () => {
- return (
-
-
-
- Tab 3
-
-
-
-
-
- Tab 3
-
-
-
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/style.scss b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/theme/variables.css
deleted file mode 100644
index 12e7354..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFacebookClone/theme/variables.css
+++ /dev/null
@@ -1,352 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-:root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** purple **/
- --ion-color-tertiary: #894eb1;
- --ion-color-tertiary-rgb: 235, 68, 90;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #6f00b9;
- --ion-color-tertiary-tint: #8633bd;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-}
-
-@media (prefers-color-scheme: dark1) {
- /*
- * Dark Colors
- * -------------------------------------------
- */
-
- body {
- --ion-color-primary: #428cff;
- --ion-color-primary-rgb: 66,140,255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255,255,255;
- --ion-color-primary-shade: #3a7be0;
- --ion-color-primary-tint: #5598ff;
-
- --ion-color-secondary: #50c8ff;
- --ion-color-secondary-rgb: 80,200,255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255,255,255;
- --ion-color-secondary-shade: #46b0e0;
- --ion-color-secondary-tint: #62ceff;
-
- --ion-color-tertiary: #6a64ff;
- --ion-color-tertiary-rgb: 106,100,255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255,255,255;
- --ion-color-tertiary-shade: #5d58e0;
- --ion-color-tertiary-tint: #7974ff;
-
- --ion-color-success: #2fdf75;
- --ion-color-success-rgb: 47,223,117;
- --ion-color-success-contrast: #000000;
- --ion-color-success-contrast-rgb: 0,0,0;
- --ion-color-success-shade: #29c467;
- --ion-color-success-tint: #44e283;
-
- --ion-color-warning: #ffd534;
- --ion-color-warning-rgb: 255,213,52;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0,0,0;
- --ion-color-warning-shade: #e0bb2e;
- --ion-color-warning-tint: #ffd948;
-
- --ion-color-danger: #ff4961;
- --ion-color-danger-rgb: 255,73,97;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255,255,255;
- --ion-color-danger-shade: #e04055;
- --ion-color-danger-tint: #ff5b71;
-
- --ion-color-dark: #f4f5f8;
- --ion-color-dark-rgb: 244,245,248;
- --ion-color-dark-contrast: #000000;
- --ion-color-dark-contrast-rgb: 0,0,0;
- --ion-color-dark-shade: #d7d8da;
- --ion-color-dark-tint: #f5f6f9;
-
- --ion-color-medium: #989aa2;
- --ion-color-medium-rgb: 152,154,162;
- --ion-color-medium-contrast: #000000;
- --ion-color-medium-contrast-rgb: 0,0,0;
- --ion-color-medium-shade: #86888f;
- --ion-color-medium-tint: #a2a4ab;
-
- --ion-color-light: #222428;
- --ion-color-light-rgb: 34,36,40;
- --ion-color-light-contrast: #ffffff;
- --ion-color-light-contrast-rgb: 255,255,255;
- --ion-color-light-shade: #1e2023;
- --ion-color-light-tint: #383a3e;
- }
-
- /*
- * iOS Dark Theme
- * -------------------------------------------
- */
-
- .ios body {
- --ion-background-color: #000000;
- --ion-background-color-rgb: 0,0,0;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255,255,255;
-
- --ion-color-step-50: #0d0d0d;
- --ion-color-step-100: #1a1a1a;
- --ion-color-step-150: #262626;
- --ion-color-step-200: #333333;
- --ion-color-step-250: #404040;
- --ion-color-step-300: #4d4d4d;
- --ion-color-step-350: #595959;
- --ion-color-step-400: #666666;
- --ion-color-step-450: #737373;
- --ion-color-step-500: #808080;
- --ion-color-step-550: #8c8c8c;
- --ion-color-step-600: #999999;
- --ion-color-step-650: #a6a6a6;
- --ion-color-step-700: #b3b3b3;
- --ion-color-step-750: #bfbfbf;
- --ion-color-step-800: #cccccc;
- --ion-color-step-850: #d9d9d9;
- --ion-color-step-900: #e6e6e6;
- --ion-color-step-950: #f2f2f2;
-
- --ion-item-background: #000000;
-
- --ion-card-background: #1c1c1d;
- }
-
- .ios ion-modal {
- --ion-background-color: var(--ion-color-step-100);
- --ion-toolbar-background: var(--ion-color-step-150);
- --ion-toolbar-border-color: var(--ion-color-step-250);
- }
-
-
- /*
- * Material Design Dark Theme
- * -------------------------------------------
- */
-
- .md body {
- --ion-background-color: #121212;
- --ion-background-color-rgb: 18,18,18;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255,255,255;
-
- --ion-border-color: #222222;
-
- --ion-color-step-50: #1e1e1e;
- --ion-color-step-100: #2a2a2a;
- --ion-color-step-150: #363636;
- --ion-color-step-200: #414141;
- --ion-color-step-250: #4d4d4d;
- --ion-color-step-300: #595959;
- --ion-color-step-350: #656565;
- --ion-color-step-400: #717171;
- --ion-color-step-450: #7d7d7d;
- --ion-color-step-500: #898989;
- --ion-color-step-550: #949494;
- --ion-color-step-600: #a0a0a0;
- --ion-color-step-650: #acacac;
- --ion-color-step-700: #b8b8b8;
- --ion-color-step-750: #c4c4c4;
- --ion-color-step-800: #d0d0d0;
- --ion-color-step-850: #dbdbdb;
- --ion-color-step-900: #e7e7e7;
- --ion-color-step-950: #f3f3f3;
-
- --ion-item-background: #1e1e1e;
-
- --ion-toolbar-background: #1f1f1f;
-
- --ion-tab-bar-background: #1f1f1f;
-
- --ion-card-background: #1e1e1e;
- }
-}
-
-ion-header,
-ion-toolbar {
-
- border-bottom: none !important;
- --border-color: white;
-}
-
-ion-title {
-
- --color: rgb(48, 48, 58);
-}
-
-ion-tab-bar {
-
- border-top: none;
-}
-
-ion-tab-button {
-
- --color: rgb(211, 211, 211);
- height: 2rem;
-}
-
-.tab-selected,
-ion-icon.search {
-
- color: rgb(88, 88, 88) !important;
-}
-
-.avatar {
-
- height: 3.5rem;
- width: 3.5rem;
-}
-
-.online {
-
- height: 20px;
- width: 20px;
- border-radius: 500px;
- border: 3px solid white;
- background-color: green;
- z-index: 9999;
- position: absolute;
- margin-left: 2.5rem;
- margin-top: 1.2rem;
-}
-
-.contact-details {
-
- margin-top: 0rem;
- margin-left: 1rem;
- margin-right: 1rem;
-}
-
-.stats {
-
- margin-top: -1rem;
- margin-right: 0.5rem;
-}
-
-.last-online {
-
- color: rgb(190, 190, 190);
- font-size: 0.9rem;
- margin-bottom: 0.5rem;
-}
-
-.stats ion-badge {
-
- margin: 0 !important;
- margin-top: -3rem !important;
- border-radius: 2px !important;
-}
-
-
-
-.contact-details h1 {
-
- font-size: 1.2rem;
-}
-
-.contact-details p {
-
- font-size: 0.8rem;
-}
-
-.message-item {
-
- padding-top: 1.5rem;
-}
-
-.profile-avatar {
-
- margin: 0 !important;
- padding: 0 !important;
- height: 2rem;
- width: 2rem;
- border-radius: 500px !important;
-}
-
-.profile-name {
-
- color:#c8c8c8;
- font-weight: 600 !important;
- font-size: 0.9rem !important;
- margin-left: 0.5rem;
-}
-
-.add-fab {
-
- opacity: 0.7;
-}
-
-/* */
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/NOTES.md
deleted file mode 100644
index 32dfb37..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0129
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/components/CategorySlide.tsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/components/CategorySlide.tsx
deleted file mode 100644
index 0b189df..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/components/CategorySlide.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { Link } from 'react-router-dom';
-
-export const CategorySlide = ({ name, path, image }) => (
- <>TODO: sorry but the ionic cannot provide ion-slide>
-);
-
-// import { IonSlide } from '@ionic/react';
-// export const CategorySlide = ({ name, path, image }) => (
-//
-//
-//
-// {name}
-//
-//
-// );
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/components/ProductCard.module.css b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/components/ProductCard.module.css
deleted file mode 100644
index 1373e81..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/components/ProductCard.module.css
+++ /dev/null
@@ -1,83 +0,0 @@
-.categoryPage ion-toolbar {
-
- --border-style: none;
-}
-
-.categoryCard {
-
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-content: center;
- align-items: center;
- /* min-height: 20rem !important; */
-}
-
-.productCardActions {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- width: 100%;
- margin-bottom: 1rem;
-}
-
-.productCardAction {
-
- font-size: 1.1rem;
-}
-
-.productCardHeader {
-
- min-height: 13rem;
- margin: 0 !important;
- padding: 0 !important;
- padding: 1rem !important;
-}
-
-.productCardHeader p {
-
- font-size: 0.8rem;
- padding: 0;
- margin: 0;
- margin-top: 0.75rem;
-}
-
-.categoryCardContent {
-
- display: flex;
- flex-direction: column;
-}
-
-.categoryCardContent ion-button {
-
- height: 1.5rem;
- font-size: 0.8rem;
-}
-
-.categoryCardContent p {
-
- font-size: 0.8rem;
- padding: 0;
- margin: 0;
-}
-
-.categoryCard img {
-
- /* border-radius: 5px; */
- /* padding: 1rem; */
-}
-
-.productPrice {
-
- display: flex;
- flex-direction: row;
-}
-
-.food {
-
- text-align: center;
- background-color: white;
- border: 5px solid var(--ion-background-color);
- border-radius: 30px;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/components/ProductCard.tsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/components/ProductCard.tsx
deleted file mode 100644
index 422ee26..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/components/ProductCard.tsx
+++ /dev/null
@@ -1,105 +0,0 @@
-import { IonButton, IonCard, IonCardContent, IonCardHeader, IonCol, IonIcon } from '@ionic/react';
-import { arrowRedoOutline, cart, cartOutline, heart, heartOutline } from 'ionicons/icons';
-import { useEffect, useRef, useState } from 'react';
-import { Link } from 'react-router-dom';
-import { addToCart } from '../data/CartStore';
-import { addToFavourites, FavouritesStore } from '../data/FavouritesStore';
-import styles from './ProductCard.module.css';
-
-const ProductCard = (props) => {
- const { product, category, index, cartRef } = props;
- const favourites = FavouritesStore.useState((s) => s.product_ids);
-
- const productCartRef = useRef();
- const productFavouriteRef = useRef();
- const [isFavourite, setIsFavourite] = useState(false);
-
- useEffect(() => {
- const tempIsFavourite = favourites.find((f) => f === `${category.slug}/${product.id}`);
- setIsFavourite(tempIsFavourite ? true : false);
- }, [props.product, favourites]);
-
- const addProductToFavourites = (e, categorySlug, productID) => {
- e.preventDefault();
- e.stopPropagation();
- addToFavourites(categorySlug, productID);
-
- productFavouriteRef.current.style.display = '';
- productFavouriteRef.current.classList.add('animate__fadeOutTopRight');
-
- setTimeout(() => {
- if (productCartRef.current) {
- productFavouriteRef.current.classList.remove('animate__fadeOutTopRight');
- productFavouriteRef.current.style.display = 'none';
- }
- }, 500);
- };
-
- const addProductToCart = (e, categorySlug, productID) => {
- e.preventDefault();
- e.stopPropagation();
-
- productCartRef.current.style.display = '';
- productCartRef.current.classList.add('animate__fadeOutUp');
-
- setTimeout(() => {
- cartRef.current.classList.add('animate__tada');
- addToCart(categorySlug, productID);
-
- setTimeout(() => {
- cartRef.current.classList.remove('animate__tada');
- productCartRef.current.style.display = 'none';
- }, 500);
- }, 500);
- };
-
- return (
-
-
- {/* */}
-
-
- addProductToFavourites(e, category.slug, product.id)}
- />
-
-
-
-
- {product.name}
-
-
-
-
-
- {product.price}
-
- addProductToCart(e, category.slug, product.id)}>
-
-
-
-
-
-
-
- {/* */}
-
- );
-};
-
-export default ProductCard;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/CartStore.js b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/CartStore.js
deleted file mode 100644
index c9af57b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/CartStore.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { Store } from 'pullstate';
-
-export const CartStore = new Store({
- total: 0,
- product_ids: [],
-});
-
-export const addToCart = (categorySlug, productID) => {
- CartStore.update((s) => {
- s.product_ids = [...s.product_ids, `${categorySlug}/${parseInt(productID)}`];
- });
-};
-
-export const removeFromCart = (productIndex) => {
- CartStore.update((s) => {
- s.product_ids.splice(productIndex, 1);
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/FavouritesStore.js b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/FavouritesStore.js
deleted file mode 100644
index 958bd5f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/FavouritesStore.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Store } from 'pullstate';
-
-export const FavouritesStore = new Store({
- total: 0,
- product_ids: [],
-});
-
-export const addToFavourites = (categorySlug, productID) => {
- FavouritesStore.update((s) => {
- if (s.product_ids.find((id) => id === `${categorySlug}/${parseInt(productID)}`)) {
- s.product_ids = s.product_ids.filter((id) => id !== `${categorySlug}/${parseInt(productID)}`);
- } else {
- s.product_ids = [...s.product_ids, `${categorySlug}/${parseInt(productID)}`];
- }
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/ProductStore.js b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/ProductStore.js
deleted file mode 100644
index 88def31..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/ProductStore.js
+++ /dev/null
@@ -1,5 +0,0 @@
-import { Store } from 'pullstate';
-
-export const ProductStore = new Store({
- products: [],
-});
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/fetcher.js b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/fetcher.js
deleted file mode 100644
index 1d6d396..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/data/fetcher.js
+++ /dev/null
@@ -1,62 +0,0 @@
-import { ProductStore } from './ProductStore';
-
-export const fetchData = async () => {
- const json = [
- 'new.json',
- 'chicken.json',
- 'veggie.json',
- 'burgers.json',
- 'sides.json',
- 'drinks.json',
- 'kids.json',
- ];
-
- var products = [];
-
- json.forEach(async (category) => {
- products = await fetchProducts(category);
-
- products.forEach((product) => {
- product.price = `£${Math.floor(Math.random() * (10 - 4 + 1)).toFixed(2)}`;
- });
-
- let categoryName = category.replace('.json', '');
- categoryName = categoryName.replaceAll('_', ' ');
- categoryName = uppercaseWords(categoryName);
-
- const foodCategory = {
- name: categoryName,
- slug: category.replace('.json', ''),
- cover: products[1].image,
- products,
- };
-
- ProductStore.update((s) => {
- s.products = [...s.products, foodCategory];
- });
- });
-
- return products;
-};
-
-const fetchProducts = async (category) => {
- const response = await fetch(`categories/${category}`);
- const data = await response.json();
-
- // Set a category id
- await data.forEach((d, i) => {
- d.id = i + 1;
- });
-
- return data;
-};
-
-const uppercaseWords = (words) => {
- words = words
- .toLowerCase()
- .split(' ')
- .map((s) => s.charAt(0).toUpperCase() + s.substring(1))
- .join(' ');
-
- return words;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/index.tsx
deleted file mode 100644
index 31b2b8b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/index.tsx
+++ /dev/null
@@ -1,55 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-
-import './style.scss';
-import Home from './pages/Home';
-import FavouriteProducts from './pages/FavouriteProducts';
-import CartProducts from './pages/CartProducts';
-import CategoryProducts from './pages/CategoryProducts';
-import Product from './pages/Product';
-
-function DemoFastFoodApp() {
- return (
-
-
- {/*
-
-
-
-
-
-
- */}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoFastFoodApp;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/module.d.ts b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/module.d.ts
deleted file mode 100644
index 4af7be7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/module.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-declare module '*.module.css' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
-
-declare module '*.module.scss' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CartProducts.module.css b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CartProducts.module.css
deleted file mode 100644
index 851dbe1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CartProducts.module.css
+++ /dev/null
@@ -1,37 +0,0 @@
-.cartCheckout {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- margin: 1rem;
-}
-
-.cartFooter {
-
- border-top: 2px solid rgb(200, 200, 200);
- background-color: white;
-}
-
-.cartCheckout ion-card-subtitle {
-
- font-size: 1.3rem;
-}
-
-.cartItem ion-avatar {
-
- height: 4rem;
- width: 4rem;
-}
-
-.cartSlider:not(:nth-child(1)) {
-
- border-top: 2px solid rgb(236, 236, 236);
-}
-
-.cartActions {
-
- display: flex;
- flex-direction: column;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CartProducts.tsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CartProducts.tsx
deleted file mode 100644
index a25f340..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CartProducts.tsx
+++ /dev/null
@@ -1,166 +0,0 @@
-import {
- IonAvatar,
- IonBadge,
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonFooter,
- IonHeader,
- IonIcon,
- IonImg,
- IonItem,
- IonItemOption,
- IonItemOptions,
- IonItemSliding,
- IonLabel,
- IonList,
- IonNote,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { cart, checkmarkSharp, chevronBackOutline, trashOutline } from 'ionicons/icons';
-import { useEffect, useRef, useState } from 'react';
-import { CartStore, removeFromCart } from '../data/CartStore';
-import { ProductStore } from '../data/ProductStore';
-
-import styles from './CartProducts.module.css';
-
-const CartProducts = () => {
- const cartRef = useRef();
- const products = ProductStore.useState((s) => s.products);
- const shopCart = CartStore.useState((s) => s.product_ids);
- const [cartProducts, setCartProducts] = useState([]);
- const [amountLoaded, setAmountLoaded] = useState(6);
-
- const [total, setTotal] = useState(0);
-
- useEffect(() => {
- const getCartProducts = () => {
- setCartProducts([]);
- setTotal(0);
-
- shopCart.forEach((product) => {
- var favouriteParts = product.split('/');
- var categorySlug = favouriteParts[0];
- var productID = favouriteParts[1];
-
- const tempCategory = products.filter((p) => p.slug === categorySlug)[0];
- const tempProduct = tempCategory.products.filter(
- (p) => parseInt(p.id) === parseInt(productID)
- )[0];
-
- const tempCartProduct = {
- category: tempCategory,
- product: tempProduct,
- };
-
- setTotal((prevTotal) => prevTotal + parseInt(tempProduct.price.replace('£', '')));
- setCartProducts((prevSearchResults) => [...prevSearchResults, tempCartProduct]);
- });
- };
-
- getCartProducts();
- }, [shopCart]);
-
- const fetchMore = async (e) => {
- // Increment the amount loaded by 6 for the next iteration
- setAmountLoaded((prevAmount) => prevAmount + 6);
- e.target.complete();
- };
-
- const removeProductFromCart = async (index) => {
- removeFromCart(index);
- };
-
- return (
-
-
-
-
-
-
- Categories
-
-
- Cart
-
-
- {shopCart.length}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {cartProducts && cartProducts.length}{' '}
- {cartProducts.length > 1 || cartProducts.length === 0 ? ' foods' : ' food'} found
-
-
-
-
-
- {cartProducts &&
- cartProducts.map((product, index) => {
- if (index <= amountLoaded) {
- return (
-
-
-
-
-
-
- {product.category.name}
- {product.product.name}
-
-
-
- {product.product.price}
-
-
-
-
- removeProductFromCart(index)}
- >
-
-
-
-
- );
- }
- })}
-
-
-
-
-
- £{total.toFixed(2)}
-
-
-
- Checkout
-
-
-
-
- );
-};
-
-export default CartProducts;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CategoryProducts.module.css b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CategoryProducts.module.css
deleted file mode 100644
index c0d5021..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CategoryProducts.module.css
+++ /dev/null
@@ -1,69 +0,0 @@
-.categoryPage ion-toolbar {
-
- --border-style: none;
-}
-
-.foodResults {
-
- color: black;
-}
-
-.chickenResults {
-
- color: white;
-}
-
-.burgers {
-
- --ion-background-color: #7dd5ff;
- --ion-toolbar-background: #7dd5ff;
- --ion-text-color: black;
- --ion-item-background: white !important;
-}
-
-.sides {
-
- --ion-background-color: #ffd87d;
- --ion-toolbar-background: #ffd87d;
- --ion-text-color: black !important;
- --ion-item-background: white !important;
-}
-
-.chicken {
-
- --ion-background-color: #6477fe;
- --ion-toolbar-background: #6477fe;
- /* --ion-text-color: white; */
- --ion-item-background: white !important;
- --ion-toolbar-color: white;
-}
-
-.drinks {
-
- --ion-background-color: #fda9f3;
- --ion-toolbar-background: #fda9f3;
- /* --ion-text-color: white; */
- --ion-item-background: white !important;
-}
-
-.veggie {
-
- --ion-background-color: #9fef79;
- --ion-toolbar-background: #9fef79;
- /* --ion-text-color: white !important; */
- --ion-item-background: white !important;
-}
-
-.kids {
-
- --ion-background-color: #dc9afe;
- --ion-toolbar-background: #dc9afe;
- /* --ion-text-color: white; */
- --ion-item-background: white !important;
-}
-
-.search {
-
- --background: rgb(240, 240, 240);
- --color: black;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CategoryProducts.tsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CategoryProducts.tsx
deleted file mode 100644
index 1c8dac6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/CategoryProducts.tsx
+++ /dev/null
@@ -1,143 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonNote,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { cart, chevronBackOutline, searchOutline } from 'ionicons/icons';
-import { useEffect, useRef, useState } from 'react';
-import { useParams } from 'react-router';
-import ProductCard from '../components/ProductCard';
-
-import { CartStore } from '../data/CartStore';
-import { ProductStore } from '../data/ProductStore';
-
-import styles from './CategoryProducts.module.css';
-
-const CategoryProducts = () => {
- const params = useParams();
- const cartRef = useRef();
- const products = ProductStore.useState((s) => s.products);
- const shopCart = CartStore.useState((s) => s.product_ids);
- const [category, setCategory] = useState({});
- const [searchResults, setsearchResults] = useState([]);
- const [amountLoaded, setAmountLoaded] = useState(6);
-
- useEffect(() => {
- const categorySlug = params.slug;
- const tempCategory = products.filter((p) => p.slug === categorySlug)[0];
- setCategory(tempCategory);
- setsearchResults(tempCategory.products);
- }, [params.slug]);
-
- const fetchMore = async (e) => {
- // Increment the amount loaded by 6 for the next iteration
- setAmountLoaded((prevAmount) => prevAmount + 6);
- e.target.complete();
- };
-
- const search = async (e) => {
- const searchVal = e.target.value;
-
- if (searchVal !== '') {
- const tempResults = category.products.filter((p) =>
- p.name.toLowerCase().includes(searchVal.toLowerCase())
- );
- setsearchResults(tempResults);
- } else {
- setsearchResults(category.products);
- }
- };
-
- return (
-
-
-
-
-
-
- Categories
-
-
- {category && category.name}
-
-
-
- {shopCart.length}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {searchResults && searchResults.length}{' '}
- {searchResults.length > 1 || searchResults.length === 0 ? ' foods' : ' food'} found
-
-
-
-
-
- {searchResults &&
- searchResults.map((product, index) => {
- if (index <= amountLoaded && product.image) {
- return (
-
- );
- }
- })}
-
-
-
-
-
-
-
-
- );
-};
-
-export default CategoryProducts;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/FavouriteProducts.tsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/FavouriteProducts.tsx
deleted file mode 100644
index f88f065..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/FavouriteProducts.tsx
+++ /dev/null
@@ -1,131 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonNote,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { cart, chevronBackOutline } from 'ionicons/icons';
-import { useEffect, useRef, useState } from 'react';
-import ProductCard from '../components/ProductCard';
-import { CartStore } from '../data/CartStore';
-import { FavouritesStore } from '../data/FavouritesStore';
-import { ProductStore } from '../data/ProductStore';
-
-import styles from './CategoryProducts.module.css';
-
-const FavouriteProducts = () => {
- const cartRef = useRef();
- const products = ProductStore.useState((s) => s.products);
- const favourites = FavouritesStore.useState((s) => s.product_ids);
- const shopCart = CartStore.useState((s) => s.product_ids);
- const [searchResults, setSearchResults] = useState([]);
- const [amountLoaded, setAmountLoaded] = useState(6);
-
- useEffect(() => {
- const getFavourites = () => {
- setSearchResults([]);
-
- favourites.forEach((favourite) => {
- var favouriteParts = favourite.split('/');
- var categorySlug = favouriteParts[0];
- var productID = favouriteParts[1];
-
- const tempCategory = products.filter((p) => p.slug === categorySlug)[0];
- const tempProduct = tempCategory.products.filter(
- (p) => parseInt(p.id) === parseInt(productID)
- )[0];
-
- const tempFavourite = {
- category: tempCategory,
- product: tempProduct,
- };
-
- setSearchResults((prevSearchResults) => [...prevSearchResults, tempFavourite]);
- });
- };
-
- getFavourites();
- }, [favourites]);
-
- const fetchMore = async (e) => {
- // Increment the amount loaded by 6 for the next iteration
- setAmountLoaded((prevAmount) => prevAmount + 6);
- e.target.complete();
- };
-
- return (
-
-
-
-
-
-
- Categories
-
-
- Favourites
-
-
- {shopCart.length}
-
-
-
-
-
-
-
-
-
-
-
-
- {searchResults && searchResults.length}{' '}
- {searchResults.length > 1 || searchResults.length === 0
- ? ' favourites'
- : ' favourite'}{' '}
- found
-
-
-
-
-
- {searchResults &&
- searchResults.map((product, index) => {
- if (index <= amountLoaded) {
- return (
-
- );
- }
- })}
-
-
-
-
-
-
-
-
- );
-};
-
-export default FavouriteProducts;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Home.module.scss
deleted file mode 100644
index 24a4522..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Home.module.scss
+++ /dev/null
@@ -1,137 +0,0 @@
-.homePage ion-toolbar {
-
- --border-style: none;
-}
-
-.logo {
-
- margin-top: 0.25rem;
- color: var(--ion-color-primary);
-}
-
-.categoryCard,
-.categoryCardContent {
-
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-content: center;
- align-items: center;
-}
-
-.categoryCardContent ion-button {
-
- height: 1.5rem;
- font-size: 0.8rem;
-}
-
-.categoryCardContent {
-
- background-color: rgb(238, 238, 238);
-}
-
-.categoryCardContent ion-card-subtitle {
-
- /* color: rgb(78, 78, 78); */
-}
-
-.categoryCard img {
-
- /* border-radius: 5px; */
- padding: 1rem;
-}
-
-.categorySlider {
-
- margin-top: 1rem;
-
- ion-slide {
-
- width: 60%;
- margin-right: 10px;
- margin-left: 10px;
-
- display: flex;
- flex-direction: column;
- justify-content: center;
-
- img {
-
- border-radius: 22px;
- }
- }
-}
-
-.categorySquares {
-
- ion-row {
-
- .categorySquare {
-
- height: 4.5rem;
- text-align: center;
- display: flex;
- justify-content: center;
- align-content: center;
- align-items: center;
- border-radius: 22px;
-
- h4 {
-
- text-align: center;
- }
- }
-
- .categorySquare:nth-child(1) {
-
- background-color: rgb(105, 62, 5);
- color: white;
- }
-
- .categorySquare:nth-child(2) {
-
- background-color: rgb(83, 185, 0);
- color: white;
- }
-
- .categorySquare:nth-child(3) {
-
- background-color: rgb(255, 240, 24);
- }
- }
-}
-
-.orderSection {
-
- padding: 2rem;
- background-color: rgb(206, 41, 0);
- color: white;
- border-radius: 22px;
- margin: 5px;
-
- h4 {
-
- margin-left: 1.5rem;
- }
-}
-
-.offerSection {
-
- padding: 2rem;
- background-color: #ffd146;
- color: black;
- border-radius: 22px;
- margin: 5px;
-
- h4,
- ion-card-subtitle {
-
- margin-left: 1.5rem;
- }
-
- ion-card-subtitle {
-
- color: rgb(255, 255, 255);
- font-weight: 800;
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Home.tsx
deleted file mode 100644
index e4d306a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Home.tsx
+++ /dev/null
@@ -1,140 +0,0 @@
-import { useState } from 'react';
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- // IonSlide,
- // IonSlides,
- IonTitle,
- IonToolbar,
- useIonRouter,
- useIonViewDidEnter,
- useIonViewWillLeave,
-} from '@ionic/react';
-
-import styles from './Home.module.scss';
-import { cart, chevronBackOutline, heart } from 'ionicons/icons';
-
-import { ProductStore } from '../data/ProductStore';
-import { FavouritesStore } from '../data/FavouritesStore';
-import { CartStore } from '../data/CartStore';
-import { Link } from 'react-router-dom';
-import { CategorySlide } from '../components/CategorySlide';
-
-const Home = () => {
- const products = ProductStore.useState((s) => s.products);
- const favourites = FavouritesStore.useState((s) => s.product_ids);
- const shopCart = CartStore.useState((s) => s.product_ids);
-
- useIonViewWillLeave(() => {
- document.querySelector('#slider').stopAutoplay();
- });
-
- useIonViewDidEnter(() => {
- document.querySelector('#slider') && document.querySelector('#slider').startAutoplay();
- document.querySelector('#slider') && document.querySelector('#slider').update();
- });
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Popular
-
- {/*
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
- */}
-
- handleBackClick()}>
-
-
-
-
-
- Ionic Food
-
-
-
- {favourites.length}
-
-
-
-
- {shopCart.length}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Kids eat free on any orders over £20.00
- Valid until July →
-
-
-
-
-
-
- Let's eat
-
-
-
- {/*
-
-
-
-
-
-
-
-
- */}
-
-
-
-
-
-
-
-
- Order for a collection or get a local delivery
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Product.module.css b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Product.module.css
deleted file mode 100644
index 253b7ed..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Product.module.css
+++ /dev/null
@@ -1,66 +0,0 @@
-.categoryPage ion-toolbar {
-
- --border-style: none;
-}
-
-.categoryCard {
-
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-content: center;
- align-items: center;
- text-align: center;
-}
-
-.productCardActions {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- width: 100%;
- margin-bottom: 1rem;
-}
-
-.productCardAction {
-
- font-size: 1.1rem;
-}
-
-.productCardHeader {
-
- min-height: 17rem;
-}
-
-.productCardHeader p {
-
- font-size: 1.2rem;
- padding: 0;
- margin: 0;
- margin-top: 0.75rem;
-}
-
-.categoryCardContent {
-
- display: flex;
- flex-direction: column;
- text-align: center;
-}
-
-.categoryCardContent ion-button {
-
- font-size: 0.8rem;
-}
-
-.categoryCardContent p {
-
- font-size: 1.5rem;
- padding: 0;
- margin: 0;
-}
-
-.productPrice {
-
- display: flex;
- flex-direction: row;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Product.tsx b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Product.tsx
deleted file mode 100644
index cdfc70e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/pages/Product.tsx
+++ /dev/null
@@ -1,211 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCardHeader,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import {
- arrowRedoOutline,
- cart,
- cartOutline,
- chevronBackOutline,
- heart,
- heartOutline,
-} from 'ionicons/icons';
-import { useEffect, useRef, useState } from 'react';
-import { useParams } from 'react-router';
-import ProductCard from '../components/ProductCard';
-import { addToCart, CartStore } from '../data/CartStore';
-import { addToFavourites, FavouritesStore } from '../data/FavouritesStore';
-import { ProductStore } from '../data/ProductStore';
-
-import styles from './Product.module.css';
-
-const Product = () => {
- const params = useParams();
- const cartRef = useRef();
- const products = ProductStore.useState((s) => s.products);
- const favourites = FavouritesStore.useState((s) => s.product_ids);
- const [isFavourite, setIsFavourite] = useState(false);
- const shopCart = CartStore.useState((s) => s.product_ids);
- const [product, setProduct] = useState({});
- const [category, setCategory] = useState({});
-
- useEffect(() => {
- const categorySlug = params.slug;
- const productID = params.id;
- const tempCategory = products.filter((p) => p.slug === categorySlug)[0];
- const tempProduct = tempCategory.products.filter(
- (p) => parseInt(p.id) === parseInt(productID)
- )[0];
-
- const tempIsFavourite = favourites.find((f) => f === `${categorySlug}/${productID}`);
-
- setIsFavourite(tempIsFavourite);
- setCategory(tempCategory);
- setProduct(tempProduct);
- }, [params.slug, params.id]);
-
- useEffect(() => {
- const tempIsFavourite = favourites.find((f) => f === `${category.slug}/${product.id}`);
- setIsFavourite(tempIsFavourite ? true : false);
- }, [favourites, product]);
-
- const addProductToFavourites = (e, categorySlug, productID) => {
- e.preventDefault();
- addToFavourites(categorySlug, productID);
-
- document.getElementById(
- `placeholder_favourite_product_${categorySlug}_${productID}`
- ).style.display = '';
- document
- .getElementById(`placeholder_favourite_product_${categorySlug}_${productID}`)
- .classList.add('animate__fadeOutTopRight');
- };
-
- const addProductToCart = (e, categorySlug, productID) => {
- e.preventDefault();
-
- document.getElementById(`placeholder_cart_${categorySlug}_${productID}`).style.display = '';
- document
- .getElementById(`placeholder_cart_${categorySlug}_${productID}`)
- .classList.add('animate__fadeOutUp');
-
- setTimeout(() => {
- cartRef.current.classList.add('animate__tada');
- addToCart(categorySlug, productID);
-
- setTimeout(() => {
- cartRef.current.classList.remove('animate__tada');
- }, 500);
- }, 500);
- };
-
- return (
-
-
-
-
-
-
- {category.name}
-
-
-
- View Food
-
-
- {shopCart.length}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- addProductToFavourites(e, category.slug, product.id)}
- />
-
-
-
-
- {product.name}
- {product.nutrition}
-
-
-
-
-
- {product.price}
-
- addProductToCart(e, category.slug, product.id)}
- >
-
- Add to Cart
-
-
-
-
-
-
-
-
-
-
-
- Similar foods...
-
-
-
-
- {category &&
- category.products &&
- category.products.map((similar, index) => {
- if (similar.id !== product.id && product.image && index < 4) {
- return (
-
- );
- }
- })}
-
-
-
-
- );
-};
-
-export default Product;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/style.scss b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/theme/variables.css
deleted file mode 100644
index 86f1b29..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFastFoodApp/theme/variables.css
+++ /dev/null
@@ -1,87 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-:root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-
- --ion-toolbar-color: black;
- --ion-grid-column-padding: 0rem;
- /* --ion-toolbar-background: var(--ion-color-warning); */
-}
-
-.non-link {
-
- text-decoration: none;
- color: unset;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/NOTES.md
deleted file mode 100644
index 9b48ea3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0130
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/components/ExploreContainer.scss b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/components/ExploreContainer.scss
deleted file mode 100644
index 11ea3ba..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/components/ExploreContainer.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-.floating-tab-bar {
- .container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
- }
-
- .container strong {
- font-size: 20px;
- line-height: 26px;
- }
-
- .container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
- }
-
- .container a {
- text-decoration: none;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/components/ExploreContainer.tsx b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/components/ExploreContainer.tsx
deleted file mode 100644
index 759cc76..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/components/ExploreContainer.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import './ExploreContainer.scss';
-
-const ExploreContainer = ({ name }) => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/index.tsx
deleted file mode 100644
index 71a067d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/index.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import { IonIcon, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cogOutline, homeOutline, listOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './pages/Tab1';
-import Tab2 from './pages/Tab2';
-import Tab3 from './pages/Tab3';
-
-import './theme/style.scss';
-import './theme/floating-tab-bar.scss';
-
-function DemoFloatingTabs() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoFloatingTabs;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab1.css b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab1.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab1.tsx
deleted file mode 100644
index c328244..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab1.tsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab1.css';
-import React from 'react';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Tab1 = (): React.JSX.Element => {
- const router = useIonRouter();
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Floating Tab Bar
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Floating Tab Bar
-
-
-
-
-
- );
-};
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab2.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab2.tsx
deleted file mode 100644
index 048ff80..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab2.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab2.css';
-
-const Tab2 = (): React.JSX.Element => {
- return (
-
-
-
- Floating Tab Bar
-
-
-
-
-
- Floating Tab Bar
-
-
-
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab3.css b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab3.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab3.tsx b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab3.tsx
deleted file mode 100644
index 54cfd9e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/pages/Tab3.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab3.css';
-
-const Tab3 = (): React.JSX.Element => {
- return (
-
-
-
- Floating Tab Bar
-
-
-
-
-
- Floating Tab Bar
-
-
-
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/theme/floating-tab-bar.scss b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/theme/floating-tab-bar.scss
deleted file mode 100644
index 9533ab9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/theme/floating-tab-bar.scss
+++ /dev/null
@@ -1,27 +0,0 @@
-.demo-floating-tabs {
- * {
- --ion-background-color: white;
- --ion-tab-bar-color: rgb(92, 123, 207);
- --ion-tab-bar-color-selected: rgb(255, 255, 255);
- }
-
- ion-tab-bar {
- --background: rgb(44, 83, 192);
- box-shadow: 0px 1px 12px rgba(0, 0, 0, 0.4);
- border-radius: 16px !important;
-
- height: 50px;
- width: 90%;
- padding-top: 5px;
- padding-bottom: 5px;
-
- bottom: 20px;
- position: relative;
- margin: 0 auto !important;
- border-top: none;
- }
-
- ion-tab-button {
- border-radius: 16px !important;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/theme/style.scss b/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/theme/style.scss
deleted file mode 100644
index d202499..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoFloatingTabs/theme/style.scss
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/
-*/
-
-/** Ionic CSS Variables **/
-
-.floating-tab-bar {
- * {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/NOTES.md
deleted file mode 100644
index 8afd210..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0131
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/ExploreContainer.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/ExploreContainer.tsx
deleted file mode 100644
index 396477f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/ExploreContainer.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import './ExploreContainer.css';
-
-const ExploreContainer = ({ name }): React.JSX.Element => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Feed.module.scss b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Feed.module.scss
deleted file mode 100644
index 4854d16..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Feed.module.scss
+++ /dev/null
@@ -1,221 +0,0 @@
-.postsContainer {
-
- margin-top: 1.5rem;
- margin-bottom: 1.5rem;
-}
-
-.postContainer {
-
- display: flex;
- flex-direction: column;
- margin-top: 1rem;
-}
-
-.postProfile {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- padding-right: 0.75rem;
- padding-left: 0.75rem;
-}
-
-.postProfile ion-router-link {
-
- display: flex !important;
- flex-direction: row !important;
-}
-
-.postProfileInfo ion-avatar {
-
- height: 2.2rem;
- width: 2.2rem;
-}
-
-.postProfileInfo p {
-
- margin: 0;
- padding: 0;
- margin-left: 0.5rem;
- font-weight: 500;
- font-size: 0.9rem;
- color: black;
-}
-
-.postProfileInfo {
-
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
- align-content: center;
-}
-
-.postImage {
-
- border-top: 1px solid rgb(216, 216, 216);
- margin-top: 0.5rem;
- height: 20rem;
- width: 100%;
-}
-
-.postImageLike {
-
- font-size: 10rem;
- color: rgb(231, 231, 231);
- position: absolute;
- left: 32vmin;
- margin-top: 20vmin;
- display: none;
-}
-
-.postActionsContainer {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- padding-right: 0.75rem;
- padding-left: 0.75rem;
- margin-top: 0.5rem;
-}
-
-.postActions {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
-}
-
-.postActions ion-icon,
-.postBookmark ion-icon {
-
- font-size: 1.5rem;
-}
-
-.postActions ion-icon:not(:first-child) {
-
- padding-left: 0.7rem;
-}
-
-.postLikesContainer {
-
- padding-left: 0.75rem;
- margin-top: 0.5rem;
-}
-
-.postLikesContainer p {
-
- margin: 0;
- padding: 0;
- font-weight: 200 !important;
- font-size: 0.8rem;
-}
-
-.postLikedName {
-
- font-weight: 600;
-}
-
-.postCaption {
-
- padding-left: 0.75rem;
- padding-right: 0.75rem;
- margin-top: 0.3rem;
-}
-
-.postCaption p {
-
- margin: 0;
- padding: 0;
- font-weight: 200 !important;
- font-size: 0.8rem;
-}
-
-.postName {
-
- color: black !important;
- font-weight: 600 !important;
-}
-
-.postName ion-router-link {
-
- color: black;
-}
-
-.postComments {
-
- padding-left: 0.75rem;
- padding-right: 0.75rem;
- margin-top: 0.5rem;
-}
-
-.postComments p {
-
- margin: 0;
- padding: 0;
- color:rgb(175, 175, 175);
- font-size: 0.8rem;
-}
-
-.postAddComment {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- padding-left: 0.75rem;
- padding-right: 0.75rem;
-}
-
-.postAddCommentProfile {
-
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-content: center;
- align-items: center;
- margin-top: 0.5rem;
-}
-
-.postAddCommentProfile ion-avatar {
-
- height: 1.9rem;
- width: 1.9rem;
-}
-
-.postAddCommentProfile p {
-
- padding-left: 0.75rem;
- font-size: 0.8rem;
- color: rgb(175, 175, 175);
-}
-
-.postAddCommentActions {
-
-
-}
-
-.postAddCommentActions ion-icon {
-
- padding-left: 0.5rem;
-}
-
-.postTime {
-
- padding-left: 0.75rem;
- padding-right: 0.75rem;
- margin-top: 0rem;
-}
-
-.postTime p {
-
- margin: 0;
- padding: 0;
- color: rgb(175, 175, 175);
- font-size: 0.6rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Feed.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Feed.tsx
deleted file mode 100644
index dbcfeff..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Feed.tsx
+++ /dev/null
@@ -1,129 +0,0 @@
-import { IonAvatar, IonIcon, IonRouterLink } from '@ionic/react';
-import {
- addCircleOutline,
- bookmarkOutline,
- chatbubbleOutline,
- ellipsisVertical,
- heart,
- heartOutline,
- paperPlaneOutline,
-} from 'ionicons/icons';
-import { likePost } from '../pages/PostStore';
-import { ProfilesStore } from '../pages/ProfilesStore';
-import { ProfileStore } from '../pages/ProfileStore';
-import styles from './Feed.module.scss';
-
-const Feed = (props): React.JSX.Element => {
- const { posts } = props;
- const profile = ProfileStore.useState((s) => s.profile);
- const profiles = ProfilesStore.useState((s) => s.profiles);
-
- const addLike = (event, postID, liked) => {
- likePost(event, postID, liked);
- };
-
- return (
-
- {posts.map((post, index) => {
- const postProfile = profiles.filter((p) => p.id === post.profile_id)[0];
-
- return (
-
-
-
-
-
-
-
-
-
-
- {postProfile.username}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- addLike(e, post.id, post.liked)}
- />
-
-
-
-
-
-
-
-
-
-
-
- Liked by alanmontgomery and{' '}
- 2 others
-
-
-
-
-
-
-
- {postProfile.username}
-
- {' '}
- {post.caption}
-
-
-
-
-
View all {post.comments.length} comments
-
-
-
-
-
-
-
-
Add a comment...
-
-
-
-
-
-
-
-
-
-
- );
- })}
-
- );
-};
-
-export default Feed;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Stories.module.scss b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Stories.module.scss
deleted file mode 100644
index aeb99cb..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Stories.module.scss
+++ /dev/null
@@ -1,98 +0,0 @@
-$border: linear-gradient(to bottom, #d82b7e, #f57939);
-
-.stories {
-
- height: fit-content;
- margin-top: -0.7rem;
-}
-
-.storiesContainer {
-
- overflow-x: scroll;
- overflow-y: hidden;
- -webkit-overflow-scrolling: touch;
- display: flex;
- flex-direction: row;
- width: 100%;
-}
-
-.storiesContainer::-webkit-scrollbar {
-
- display: none;
-}
-
-.story,
-.yourStory {
-
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- align-content: center;
- margin: 0 auto;
- width: 4rem !important;
- margin-left: 1rem;
-}
-
-.story:first-child,
-.yourStory:first-child {
-
- margin-left: 0.75rem;
-}
-
-.story p,
-.yourStory p {
-
- text-align: center;
- margin: 0;
- padding: 0;
- margin-top: 0.2rem;
- color: rgb(95, 95, 95);
- font-size: 0.7rem;
- font-weight: 400;
- width: 120%;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- position: relative;
- margin-top: 5rem;
-}
-
-.story img,
-.yourStory img {
-
- height: 3.5rem !important;
- width: 3.5rem !important;
- position: absolute;
- border-radius: 500px;
- background: $border;
- padding: 0.1rem;
-}
-
-.yourStory img {
-
- background:rgb(214, 214, 214);
-}
-
-.storyAdd {
-
- position: absolute;
- color: white;
- background-color: var(--ion-color-primary);
- width: 1rem;
- height: 1rem;
- text-align: center;
- margin: 0 auto;
- display: flex;
- flex-direction: row;
- align-items: center;
- align-content: center;
- justify-content: center;
- border-radius: 500px;
- border: 2px solid white;
-
- bottom: 20px;
- right: 0;
- padding: 0.5rem;
- font-size: 0.9rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Stories.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Stories.tsx
deleted file mode 100644
index c902b30..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/components/Stories.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { IonCol, IonRouterLink, IonRow } from '@ionic/react';
-import styles from './Stories.module.scss';
-
-const Stories = (props): React.JSX.Element => {
- const { profiles } = props;
-
- return (
-
-
- {profiles.map((story, index) => {
- return (
-
-
- {index === 0 && +
}
-
-
- {index === 0 ? 'Your story' : story.username}
-
-
- );
- })}
-
-
- );
-};
-
-export default Stories;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/index.tsx
deleted file mode 100644
index ab4b29b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/index.tsx
+++ /dev/null
@@ -1,91 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { bagOutline, cloudOutline, home, playCircleOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import './style.scss';
-import Home from './pages/Home';
-import Tab2 from './pages/Tab2';
-import Tab3 from './pages/Tab3';
-
-import './theme/variables.scss';
-import { ProfileStore } from './pages/ProfileStore';
-import Profile from './pages/Profile';
-import MyProfile from './pages/MyProfile';
-
-function DemoInstagramClone() {
- const profile = ProfileStore.useState((s) => s.profile);
-
- return (
-
-
- {/*
-
-
-
-
-
-
-
-
-
- */}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/*
-
-
- Dashboard
-
-
-
- Search
-
- */}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoInstagramClone;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Home.module.scss
deleted file mode 100644
index 48a1bdb..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Home.module.scss
+++ /dev/null
@@ -1,198 +0,0 @@
-.postsContainer {
-
- margin-top: 1.5rem;
- margin-bottom: 1.5rem;
-}
-
-.postContainer {
-
- display: flex;
- flex-direction: column;
- margin-top: 1rem;
-}
-
-.postProfile {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- padding-right: 0.75rem;
- padding-left: 0.75rem;
-}
-
-.postProfileInfo ion-avatar {
-
- height: 2.2rem;
- width: 2.2rem;
-}
-
-.postProfileInfo p {
-
- margin: 0;
- padding: 0;
- margin-left: 0.5rem;
- font-weight: 500;
- font-size: 0.9rem;
-}
-
-.postProfileInfo {
-
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
- align-content: center;
-}
-
-.postImage {
-
- border-top: 1px solid rgb(216, 216, 216);
- margin-top: 0.5rem;
- height: 20rem;
- width: 100%;
-}
-
-.postActionsContainer {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- padding-right: 0.75rem;
- padding-left: 0.75rem;
- margin-top: 0.5rem;
-}
-
-.postActions {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
-}
-
-.postActions ion-icon,
-.postBookmark ion-icon {
-
- font-size: 1.5rem;
-}
-
-.postActions ion-icon:not(:first-child) {
-
- padding-left: 0.7rem;
-}
-
-.postLikesContainer {
-
- padding-left: 0.75rem;
- margin-top: 0.5rem;
-}
-
-.postLikesContainer p {
-
- margin: 0;
- padding: 0;
- font-weight: 200 !important;
- font-size: 0.8rem;
-}
-
-.postLikedName {
-
- font-weight: 600;
-}
-
-.postCaption {
-
- padding-left: 0.75rem;
- padding-right: 0.75rem;
- margin-top: 0.3rem;
-}
-
-.postCaption p {
-
- margin: 0;
- padding: 0;
- font-weight: 200 !important;
- font-size: 0.8rem;
-}
-
-.postName {
-
- font-weight: 600 !important;
-}
-
-.postComments {
-
- padding-left: 0.75rem;
- padding-right: 0.75rem;
- margin-top: 0.5rem;
-}
-
-.postComments p {
-
- margin: 0;
- padding: 0;
- color:rgb(175, 175, 175);
- font-size: 0.8rem;
-}
-
-.postAddComment {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- padding-left: 0.75rem;
- padding-right: 0.75rem;
-}
-
-.postAddCommentProfile {
-
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-content: center;
- align-items: center;
- margin-top: 0.5rem;
-}
-
-.postAddCommentProfile ion-avatar {
-
- height: 1.9rem;
- width: 1.9rem;
-}
-
-.postAddCommentProfile p {
-
- padding-left: 0.75rem;
- font-size: 0.8rem;
- color: rgb(175, 175, 175);
-}
-
-.postAddCommentActions {
-
-
-}
-
-.postAddCommentActions ion-icon {
-
- padding-left: 0.5rem;
-}
-
-.postTime {
-
- padding-left: 0.75rem;
- padding-right: 0.75rem;
- margin-top: 0rem;
-}
-
-.postTime p {
-
- margin: 0;
- padding: 0;
- color: rgb(175, 175, 175);
- font-size: 0.6rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Home.tsx
deleted file mode 100644
index 64f15f8..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Home.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import {
- addCircleOutline,
- chevronBackOutline,
- heartOutline,
- paperPlaneOutline,
-} from 'ionicons/icons';
-import Feed from '../components/Feed';
-import Stories from '../components/Stories';
-import { PostStore } from './PostStore';
-import { ProfilesStore } from './ProfilesStore';
-
-const Home = (): React.JSX.Element => {
- const profiles = ProfilesStore.useState((s) => s.profiles);
- const posts = PostStore.useState((s) => s.posts);
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/MyProfile.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/MyProfile.tsx
deleted file mode 100644
index f643088..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/MyProfile.tsx
+++ /dev/null
@@ -1,160 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonToolbar,
- useIonViewWillEnter,
-} from '@ionic/react';
-import {
- addCircleOutline,
- bookmarksOutline,
- chevronDown,
- gridOutline,
- menuOutline,
-} from 'ionicons/icons';
-import { useState } from 'react';
-import styles from './Profile.module.scss';
-
-import { ProfilesStore } from './ProfilesStore';
-import { ProfileStore } from './ProfileStore';
-
-const MyProfile = (): React.JSX.Element => {
- const currentProfile = ProfileStore.useState((s) => s.profile);
- const profiles = ProfilesStore.useState((s) => s.profiles);
- const [profile, setProfile] = useState(false);
-
- useIonViewWillEnter(() => {
- const profileID = currentProfile.id;
- const tempProfile = profiles.filter((p) => parseInt(p.id) === parseInt(profileID))[0];
- setProfile(tempProfile);
- });
-
- return (
-
-
-
-
-
- {profile.username}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {profile.posts && profile.posts.length}
-
- Posts
-
-
-
- {profile.followers}
- Followers
-
-
-
- {profile.following}
- Following
-
-
-
-
-
-
-
-
- {profile.firstname} {profile.surname}
-
- {profile.title}
- {profile.bio}
-
- {profile.link}
-
-
-
-
-
-
-
- Edit Profile
-
-
-
-
-
- Promotions
-
-
-
-
-
- Insights
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {profile.posts &&
- profile.posts.map((post, index) => {
- return (
-
-
-
- );
- })}
-
-
-
- );
-};
-
-export default MyProfile;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/PostStore.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/PostStore.tsx
deleted file mode 100644
index 441b84b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/PostStore.tsx
+++ /dev/null
@@ -1,139 +0,0 @@
-import { Store } from 'pullstate';
-
-export const PostStore = new Store({
- posts: [
- {
- id: 1,
- image: 'https://ionic.io/img/ioniconf/ioniconf-open-graph.png',
- caption: 'Ioniconf 2021! Register Now!',
- likes: 73,
- liked: false,
- profile_id: 6,
- time: '1 hour ago',
- comments: [
- {
- profile_id: 3,
- comment: 'Test',
- },
- ],
- },
-
- {
- id: 2,
- image:
- 'https://creativetacos.com/wp-content/uploads/2019/08/Free-Chipper-Personal-Finance-App-Kit.jpg',
- caption: 'Ionic React Hub! UI Components, Templates, Clones and more!',
- likes: 73,
- liked: true,
- profile_id: 1,
- time: '1 hour ago',
- comments: [
- {
- profile_id: 3,
- comment: 'Test',
- },
- {
- profile_id: 3,
- comment: 'Test',
- },
- {
- profile_id: 3,
- comment: 'Test',
- },
- ],
- },
-
- {
- id: 3,
- image: 'https://cdn.buttercms.com/AIcP6e8FRx6fgsKa7bvy',
- caption: 'Join the first ever Ionic Event!',
- likes: 73,
- liked: false,
- profile_id: 4,
- time: '2 hours ago',
- comments: [
- {
- profile_id: 1,
- comment: 'Test',
- },
- {
- profile_id: 2,
- comment: 'Test',
- },
- ],
- },
-
- {
- id: 4,
- image: 'https://ionicframework.com/img/meta/ionic-framework-og.png',
- caption: 'Build cross platform mobile apps with the Ionic Framework!',
- likes: 73,
- liked: false,
- profile_id: 2,
- time: '3 hours ago',
- comments: [
- {
- profile_id: 1,
- comment: 'Test',
- },
- {
- profile_id: 2,
- comment: 'Test',
- },
- ],
- },
- ],
-});
-
-export const likePost = (event, postID, liked) => {
- event.target.classList.add('animate__heartBeat');
-
- if (!liked) {
- document.getElementById(`postLike_${postID}`).style.display = 'inline';
- }
-
- setTimeout(() => {
- event.target.classList.remove('animate__heartBeat');
- document.getElementById(`postLike_${postID}`).style.display = 'none';
- }, 850);
-
- PostStore.update((s) => {
- s.posts.find((p, index) =>
- parseInt(p.id) === parseInt(postID) ? (s.posts[index].liked = liked ? false : true) : false
- );
- });
-
- if (liked) {
- PostStore.update((s) => {
- s.posts.find((p, index) =>
- parseInt(p.id) === parseInt(postID)
- ? (s.posts[index].likes = s.posts[index].likes++)
- : false
- );
- });
- } else {
- PostStore.update((s) => {
- s.posts.find((p, index) =>
- parseInt(p.id) === parseInt(postID)
- ? (s.posts[index].likes = s.posts[index].likes--)
- : false
- );
- });
- }
-};
-
-export const addPost = (newPost) => {
- PostStore.update((s) => {
- s.posts = [...s.posts, newPost];
- });
-};
-
-export const addCommentToPost = (newComment, postID) => {
- PostStore.update((s) => {
- s.posts.find((p, index) =>
- parseInt(p.id) === parseInt(postID)
- ? (s.posts[index].comments = [...s.posts[index].comments, newComment])
- : false
- );
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Profile.module.scss b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Profile.module.scss
deleted file mode 100644
index c749657..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Profile.module.scss
+++ /dev/null
@@ -1,100 +0,0 @@
-.username {
-
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-content: center;
- align-items: center;
- font-weight: 600;
-}
-
-.username ion-icon {
-
- font-size: 0.8rem;
- margin-left: 0.3rem;
-}
-
-.label {
-
- color: black;
- font-size: 0.7rem;
- font-weight: 500;
- font-family: Arial, Helvetica, sans-serif !important;
- text-transform: lowercase;
-}
-
-.label::first-letter {
-
- text-transform: uppercase;
-}
-
-.value {
-
- font-size: 1rem;
-}
-
-.profileAvatar {
-
- border-radius: 500px;
- width: 5.5rem;
- height: auto;
-}
-
-.profileInfo {
-
- display: flex;
- flex-direction: column;
- padding-left: 0.75rem;
- padding-right: 0.75rem;
-}
-
-.profileInfo p,
-.profileInfo a {
-
- // padding: 0.1rem 0 0.1rem 0;
- margin: 0;
- font-size: 0.9rem;
-}
-
-.profileUsername {
-
- font-weight: 600;
-}
-
-.profileTitle {
-
- color: rgb(136, 136, 136);
-}
-
-.profileLink {
-
- color: rgb(22, 60, 131);
- text-decoration: none;
-}
-
-.profileActions ion-button {
-
- height: 2.3rem;
- --border-radius: 5px;
- font-weight: 600;
-}
-
-.lightButton {
-
- --color: rgb(65, 65, 65);
- --color-activated: rgb(65, 65, 65);
- --background-hover: white;
- --background-focused: white;
- --background-activated: white;
- --border-color: rgb(231, 231, 231);
- --border-width: 2px;
- font-size: 0.8rem;
-}
-
-.postCol {
-
- --ion-grid-column-padding: 0rem;
- padding: 0.1rem;
- padding-bottom: 0.01rem !important;
- padding-top: 0.01rem !important;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Profile.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Profile.tsx
deleted file mode 100644
index aa07b55..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Profile.tsx
+++ /dev/null
@@ -1,183 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonToolbar,
- useIonViewWillEnter,
-} from '@ionic/react';
-import {
- addCircleOutline,
- arrowBackOutline,
- bookmarksOutline,
- chevronDown,
- ellipsisVertical,
- gridOutline,
- menuOutline,
- personOutline,
-} from 'ionicons/icons';
-import { useState } from 'react';
-import { useParams } from 'react-router';
-import styles from './Profile.module.scss';
-
-import { ProfilesStore } from './ProfilesStore';
-import { ProfileStore } from './ProfileStore';
-
-const Profile = (): React.JSX.Element => {
- const params = useParams();
- const profiles = ProfilesStore.useState((s) => s.profiles);
- const currentProfile = ProfileStore.useState((s) => s.profile);
- const [profile, setProfile] = useState(false);
-
- useIonViewWillEnter(() => {
- const profileID = params.id;
- const tempProfile = profiles.filter((p) => parseInt(p.id) === parseInt(profileID))[0];
- setProfile(tempProfile);
- });
-
- return (
-
-
-
-
- {profile.id === currentProfile.id ? (
-
- {profile.username}
-
-
- ) : (
- <>
-
-
- {profile.username}
-
- >
- )}
-
-
-
- {profile.id === currentProfile.id ? (
- <>
-
-
-
-
-
-
- >
- ) : (
-
-
-
- )}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {profile.posts && profile.posts.length}
-
- Posts
-
-
-
- {profile.followers}
- Followers
-
-
-
- {profile.following}
- Following
-
-
-
-
-
-
-
-
- {profile.firstname} {profile.surname}
-
- {profile.title}
- {profile.bio}
-
- {profile.link}
-
-
-
-
-
-
-
- Follow
-
-
-
-
-
- Message
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {profile.posts &&
- profile.posts.map((post, index) => {
- return (
-
-
-
- );
- })}
-
-
-
- );
-};
-
-export default Profile;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/ProfileStore.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/ProfileStore.tsx
deleted file mode 100644
index 42f4d58..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/ProfileStore.tsx
+++ /dev/null
@@ -1,20 +0,0 @@
-import { Store } from 'pullstate';
-
-export const ProfileStore = new Store({
- profile: {
- id: 1,
- firstname: 'Alan',
- surname: 'Montgomery',
- avatar: '/assets/alan.jpg',
- followers: 0,
- following: 0,
- },
- posts: [],
- feed: [],
-});
-
-export const addProfilePost = (newPost) => {
- ProfileStore.update((s) => {
- s.posts = [...s.posts, newPost];
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/ProfilesStore.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/ProfilesStore.tsx
deleted file mode 100644
index 63813c5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/ProfilesStore.tsx
+++ /dev/null
@@ -1,172 +0,0 @@
-import { Store } from 'pullstate';
-
-export const ProfilesStore = new Store({
- profiles: [
- {
- id: 1,
- firstname: 'Alan',
- surname: 'Montgomery',
- username: 'alanmontgomery',
- title: 'Mobile Team Lead',
- bio: 'Full Stack 🤓 Mobile Team Lead/Senior React Dev',
- link: 'alanmontgomery.co.uk',
- avatar: '/assets/alan.jpg',
- followers: '1,470',
- following: '230',
- posts: [
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- ],
- },
- {
- id: 2,
- firstname: 'Max',
- surname: 'Lynch',
- username: 'maxlynch',
- title: 'CEO Ionic',
- bio: 'Co-founder/CEO @ionicframework. Created @capacitorjs. Gamer. @ManUtd fan.',
- link: 'maxlynch.com',
- avatar: 'https://pbs.twimg.com/profile_images/1318970727173885953/bln98FNj_400x400.jpg',
- followers: '21.1K',
- following: '1,200',
- posts: [{}, {}, {}, {}, {}, {}, {}, {}, {}],
- },
- {
- id: 3,
- firstname: 'Ben',
- surname: 'Sperry',
- username: 'bensperry',
- title: 'CDO Ionic',
- bio: 'Co-founder / CDO @ionicframework. Creator of @ionicons. Product designer. Pixel junkie. Forest explorer.',
- link: 'bensperry.com',
- avatar: 'https://pbs.twimg.com/profile_images/1328390491126308864/jHHgl5Dm_400x400.jpg',
- followers: '800',
- following: '700',
- posts: [{}, {}, {}, {}, {}, {}, {}, {}, {}],
- },
- {
- id: 4,
- firstname: 'Matt',
- surname: 'Netkow',
- username: 'mattnetkow',
- title: 'Head of Product Marketing',
- bio: 'I help web developers build cross-platform Web Native apps. @IonicFramework: Head of Product Marketing',
- link: 'webnative.tech',
- avatar: 'https://pbs.twimg.com/profile_images/1323383930150621187/GKc0nVzi_400x400.jpg',
- followers: '1,200',
- following: '900',
- posts: [{}, {}, {}, {}, {}, {}, {}, {}, {}],
- },
- {
- id: 5,
- firstname: 'Liam',
- surname: 'DeBeasi',
- username: 'liamdebeasi',
- title: 'Software Engineer',
- bio: 'Software Engineer at @ionicframework',
- link: 'liamdebeasi.com',
- avatar: 'https://pbs.twimg.com/profile_images/1105953692669366273/ZNK4lRAJ_400x400.jpg',
- followers: '871',
- following: '510',
- posts: [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}],
- },
- {
- id: 6,
- firstname: 'Mike',
- surname: 'Hartington',
- username: 'mikehartington',
- title: 'Senior Dev Rel',
- bio: 'Google Developer Expert. Mediocre at best. he/him. npx mhartington',
- link: 'mhartington.io',
- avatar: 'https://pbs.twimg.com/profile_images/1084993841898446849/DJ8XtR6L_400x400.jpg',
- followers: '12.3K',
- following: '2,200',
- posts: [
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- {},
- ],
- },
- {
- id: 7,
- firstname: 'Adam',
- surname: 'Bradley',
- username: 'adambradley',
- title: 'Director of Technology',
- bio: 'Proud dad, husband, veteran & dogs best friend. Typos are my own',
- link: 'ionicframework.com',
- avatar: 'https://pbs.twimg.com/profile_images/909075942320025600/hfYqicUk_400x400.jpg',
- followers: '613',
- following: '571',
- posts: [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}],
- },
- {
- id: 8,
- firstname: 'Brody',
- surname: 'Kidd',
- username: 'brodykidd',
- title: 'Enterprise Account Manager',
- bio: 'Enterprise Account Manager | @ionicframework | @getcapacitor | @stenciljs',
- link: 'ionicframework.com',
- avatar: 'https://pbs.twimg.com/profile_images/477539679567228928/JObyaUW__400x400.jpeg',
- followers: '677',
- following: '219',
- posts: [{}, {}, {}, {}, {}, {}, {}],
- },
- ],
-});
-
-export const addProfilePost = (newPost) => {
- ProfilesStore.update((s) => {
- s.posts = [...s.posts, newPost];
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab1.css b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab1.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab2.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab2.tsx
deleted file mode 100644
index a46ce0c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab2.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab2.css';
-
-const Tab2 = (): React.JSX.Element => {
- return (
-
-
-
- Tab 2
-
-
-
-
-
- Tab 2
-
-
-
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab3.css b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab3.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab3.tsx b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab3.tsx
deleted file mode 100644
index 094a323..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/pages/Tab3.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab3.css';
-
-const Tab3 = (): React.JSX.Element => {
- return (
-
-
-
- Tab 3
-
-
-
-
-
- Tab 3
-
-
-
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/style.scss b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/theme/variables.scss
deleted file mode 100644
index 64b2b41..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoInstagramClone/theme/variables.scss
+++ /dev/null
@@ -1,126 +0,0 @@
-.demo-instagram-clone {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- * {
- font-family: Arial, Helvetica, sans-serif !important;
- scroll-behavior: smooth;
- }
-
- ::-webkit-scrollbar,
- ::-webkit-scrollbar-thumb {
- width: 0px;
- }
-
- /** Ionic CSS Variables **/
- :root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-
- :root {
- --ion-toolbar-background: white;
- --ion-tab-bar-color: black;
- --ion-tab-bar-color-selected: black;
- --ion-tab-bar-border-color: rgb(235, 235, 235);
- }
-
- ion-tab-button ion-icon {
- font-size: 1.6rem;
- }
-
- ion-tab-button img {
- border-radius: 500px;
- height: 1.8rem;
- border: 1px solid black;
- }
-
- ion-tab-bar {
- height: 3rem;
- }
-
- ion-toolbar {
- --border-style: none;
- --padding-start: 1rem;
- --padding-end: 1rem;
- --padding-top: 0.5rem;
- }
-
- ion-toolbar ion-icon {
- font-weight: 900 !important;
- font-size: 1.6rem;
- }
-
- ion-toolbar ion-button:not(:last-child) {
- padding-right: 0.3rem;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/NOTES.md
deleted file mode 100644
index f7a8f29..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0132
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Board/BoardItem.tsx b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Board/BoardItem.tsx
deleted file mode 100644
index 1882c7b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Board/BoardItem.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-import { IonBadge, IonIcon, IonItem, IonLabel, IonReorder } from '@ionic/react';
-import { arrowBackOutline, arrowForwardOutline } from 'ionicons/icons';
-
-import styles from '../../pages/Kanban.module.scss';
-
-export const BoardItem = ({
- id,
- item,
- index,
- type,
- moveToggled,
- handleMove,
-}): React.JSX.Element => (
-
-
-
-
-
-
{item.name}
-
-
- {type.name}
-
-
- {item.summary}
-
-
-
- {item.labels.map((label, index2) => {
- return (
-
- {label}
-
-
- );
- })}
-
-
-
- {id !== 1 && moveToggled && (
-
handleMove(e, 'Left', id, id - 1, item.id)}
- >
-
-
- )}
-
- {id !== 3 && moveToggled && (
-
handleMove(e, 'Right', id, id + 1, item.id)}
- >
-
-
- )}
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Board/ListItem.tsx b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Board/ListItem.tsx
deleted file mode 100644
index 26d895d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Board/ListItem.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { IonIcon, IonItem, IonLabel, IonReorder } from '@ionic/react';
-
-import styles from '../../pages/Kanban.module.scss';
-
-export const ListItem = ({ id, item, index, type, moveToggled, handleMove }): React.JSX.Element => (
-
-
-
-
- {item.name}
- {item.summary}
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Menu.css b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Menu.css
deleted file mode 100644
index 0ca47a2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Menu.css
+++ /dev/null
@@ -1,113 +0,0 @@
-ion-menu ion-content {
- --background: var(--ion-item-background, var(--ion-background-color, #fff));
-}
-
-ion-menu.md ion-content {
- --padding-start: 8px;
- --padding-end: 8px;
- --padding-top: 20px;
- --padding-bottom: 20px;
-}
-
-ion-menu.md ion-list {
- padding: 20px 0;
-}
-
-ion-menu.md ion-note {
- margin-bottom: 30px;
-}
-
-ion-menu.md ion-list-header, ion-menu.md ion-note {
- padding-left: 10px;
-}
-
-ion-menu.md ion-list#inbox-list {
- border-bottom: 1px solid var(--ion-color-step-150, #d7d8da);
-}
-
-ion-menu.md ion-list#inbox-list ion-list-header {
- font-size: 22px;
- font-weight: 600;
- min-height: 20px;
-}
-
-ion-menu.md ion-list#labels-list ion-list-header {
- font-size: 16px;
- margin-bottom: 18px;
- color: #757575;
- min-height: 26px;
-}
-
-ion-menu.md ion-item {
- --padding-start: 10px;
- --padding-end: 10px;
- border-radius: 4px;
-}
-
-ion-menu.md ion-item.selected {
- --background: rgba(var(--ion-color-primary-rgb), 0.14);
-}
-
-ion-menu.md ion-item.selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.md ion-item ion-icon {
- color: #616e7e;
-}
-
-ion-menu.md ion-item ion-label {
- font-weight: 500;
-}
-
-ion-menu.ios ion-content {
- --padding-bottom: 20px;
-}
-
-ion-menu.ios ion-list {
- padding: 20px 0 0 0;
-}
-
-ion-menu.ios ion-note {
- line-height: 24px;
- margin-bottom: 20px;
-}
-
-ion-menu.ios ion-item {
- --padding-start: 16px;
- --padding-end: 16px;
- --min-height: 50px;
-}
-
-ion-menu.ios ion-item ion-icon {
- font-size: 24px;
- color: #73849a;
-}
-
-ion-menu.ios ion-item .selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.ios ion-list#labels-list ion-list-header {
- margin-bottom: 8px;
-}
-
-ion-menu.ios ion-list-header,
-ion-menu.ios ion-note {
- padding-left: 16px;
- padding-right: 16px;
-}
-
-ion-menu.ios ion-note {
- margin-bottom: 8px;
-}
-
-ion-note {
- display: inline-block;
- font-size: 16px;
- color: var(--ion-color-medium-shade);
-}
-
-ion-item.selected {
- --color: var(--ion-color-primary);
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Menu.tsx b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Menu.tsx
deleted file mode 100644
index 7400d03..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/components/Menu.tsx
+++ /dev/null
@@ -1,109 +0,0 @@
-import {
- IonContent,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonListHeader,
- IonMenu,
- IonMenuToggle,
- IonNote,
-} from '@ionic/react';
-
-import { useLocation } from 'react-router-dom';
-import {
- addOutline,
- addSharp,
- barChartOutline,
- barChartSharp,
- bookmarkOutline,
- listOutline,
- listSharp,
-} from 'ionicons/icons';
-import './Menu.css';
-
-import { SettingsStore } from '../store';
-import { handleViewChange } from '../store/SettingsStore';
-
-const appPages = [
- {
- title: 'Add Item',
- url: '/page/add/0',
- iosIcon: addOutline,
- mdIcon: addSharp,
- },
-];
-
-const actions = [
- {
- title: 'Board View',
- slug: 'Board',
- url: false,
- onClick: () => handleViewChange('Board'),
- iosIcon: barChartOutline,
- mdIcon: barChartSharp,
- },
- {
- title: 'List View',
- slug: 'List',
- url: false,
- onClick: () => handleViewChange('List'),
- iosIcon: listOutline,
- mdIcon: listSharp,
- },
-];
-
-const Menu = (): React.JSX.Element => {
- const location = useLocation();
- const view = SettingsStore.useState((s) => s.view);
-
- return (
-
-
-
- Welcome back
- Ionic Kanban Board
- {appPages.map((appPage, index) => {
- return (
-
-
-
- {appPage.title}
-
-
- );
- })}
-
-
-
- Toggle View
- View items in list or board view
-
- {actions.map((action, index) => {
- return (
-
-
-
- {action.title}
-
-
- );
- })}
-
-
-
- );
-};
-
-export default Menu;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/index.tsx
deleted file mode 100644
index b69b165..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/index.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import {
- IonIcon,
- IonLabel,
- IonRouterOutlet,
- IonSplitPane,
- IonTabBar,
- IonTabButton,
- IonTabs,
-} from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-// import './style.scss';
-import './theme/variables.scss';
-import Menu from './components/Menu';
-import Add from './pages/Add';
-import Kanban from './pages/Kanban';
-
-function DemoKanbanBoard() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoKanbanBoard;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/pages/Add.tsx b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/pages/Add.tsx
deleted file mode 100644
index fd2b994..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/pages/Add.tsx
+++ /dev/null
@@ -1,152 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonInput,
- IonItem,
- IonLabel,
- IonPage,
- IonSelect,
- IonSelectOption,
- IonTextarea,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { checkmarkSharp, chevronBackSharp } from 'ionicons/icons';
-import { useState } from 'react';
-import { useParams } from 'react-router';
-import { SettingsStore } from '../store';
-import { addItem } from '../store/SettingsStore';
-
-const Add = (): React.JSX.Element => {
- const categories = SettingsStore.useState((s) => s.categories);
- const types = SettingsStore.useState((s) => s.types);
- const router = useIonRouter();
- const { category_id = false } = useParams();
-
- const useFormInput = (initialValue = '') => {
- const [value, setValue] = useState(initialValue);
-
- const onChange = (e) => {
- setValue(e.target.value);
- };
-
- return {
- value,
- onIonChange: onChange,
- };
- };
-
- const formFields = [
- {
- fields: {
- type: 'text',
- id: 'name',
- placeholder: 'Enter a name...',
- },
- state: useFormInput(),
- label: 'Name',
- options: false,
- },
- {
- fields: {
- type: 'select',
- id: 'category_id',
- placeholder: 'Select a category',
- },
- state: useFormInput(parseInt(category_id)),
- label: 'Category',
- options: categories,
- },
- {
- fields: {
- type: 'select',
- id: 'type_id',
- placeholder: 'Select a type...',
- },
- state: useFormInput(),
- label: 'Type',
- options: types,
- },
- {
- fields: {
- type: 'textarea',
- id: 'summary',
- placeholder: 'Enter a summary...',
- },
- state: useFormInput(),
- label: 'Summary',
- options: false,
- },
- ];
-
- const add = () => {
- const data = [];
-
- formFields.forEach((field) => {
- data[field.fields.id] = field.state.value;
- });
-
- addItem(data);
- router.goBack();
- };
-
- return (
-
-
-
-
- router.goBack()}>
-
-
-
- Add Item
-
-
-
-
-
-
- Add Item
-
-
-
- {formFields.map((formField, index) => {
- const { state, fields, label, options } = formField;
-
- return (
-
- {label}
-
- {fields.type === 'text' && }
- {fields.type === 'textarea' && }
- {fields.type === 'select' && (
-
- {options.map((option) => {
- const optionName = option.name.charAt(0).toUpperCase() + option.name.slice(1);
-
- return (
-
- {optionName}
-
- );
- })}
-
- )}
-
- );
- })}
-
-
-
- Save
-
-
-
- );
-};
-
-export default Add;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/pages/Kanban.module.scss b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/pages/Kanban.module.scss
deleted file mode 100644
index b444de1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/pages/Kanban.module.scss
+++ /dev/null
@@ -1,180 +0,0 @@
-.categorySlide {
- display: flex;
- flex-direction: column;
-}
-
-@media only screen and (min-width: 768px) {
- .categorySlide {
- width: 33%;
- }
-
- .categoryName {
- margin-top: 1rem;
- width: 92.6% !important;
- }
-}
-
-.categoryName {
- background-color: #3273ec;
- color: white;
- width: 100%;
- padding: 1rem;
- font-size: 1.3rem;
- margin-bottom: -0.75rem;
-}
-
-.categoryNameList {
- background-color: #3273ec;
- color: white;
- width: 100%;
- padding: 1rem;
- font-size: 1.3rem;
-}
-
-.kanbanItemList {
- margin: 0rem !important;
- border-radius: 0 !important;
- border: none !important;
- border-bottom: 1px solid rgb(221, 221, 221) !important;
-}
-
-.kanbanItem,
-.kanbanItemList {
- padding: 1.5rem;
- border: 1px solid rgb(221, 221, 221);
- border-radius: 5px;
- background-color: white;
- --background: white;
-
- .itemTitle {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-content: center;
- align-items: center;
- margin-bottom: 1rem;
-
- .itemType {
- font-size: 0.75rem;
-
- ion-icon {
- font-size: 0.75rem;
- padding: 0 !important;
- }
- }
-
- h3 {
- color: black;
- font-weight: 450;
- }
- }
-
- .itemTitleList {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-content: center;
- align-items: center;
- margin-bottom: 0rem;
-
- ion-card-subtitle {
- color: black;
- margin-top: 0.25rem;
- font-size: 0.6rem;
- }
- }
-
- .itemList {
- display: flex !important;
- flex-direction: row !important;
- align-content: center;
- justify-content: space-between;
- align-items: center;
-
- ion-icon {
- font-size: 2rem;
- padding-left: 0.5rem;
- }
- }
-
- .itemType,
- .itemTypeList {
- display: flex;
- flex-direction: row;
- align-content: center;
- align-items: center;
- justify-content: space-between;
- width: fit-content;
- }
-
- .itemTypeList {
- margin-right: 0.3rem;
- }
-
- .itemLabels {
- margin-top: 1rem;
- }
-
- .itemLabelsList {
- margin-top: 0.2rem;
-
- ion-badge {
- font-size: 0.5rem;
- }
- }
-
- .itemActions {
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-content: center;
- align-items: center;
- margin-top: 1rem;
-
- div {
- width: 5rem;
- background-color: rgb(238, 238, 238);
- color: rgb(204, 204, 204);
- margin-left: 0.2rem;
- margin-right: 0.2rem;
-
- padding: 0.5rem;
- border-radius: 5px;
- }
-
- .moveRight {
- text-align: right;
- }
-
- .moveLeft {
- text-align: left;
- }
- }
-}
-
-.itemAdd {
- display: flex;
- flex-direction: row;
- align-content: center;
- justify-content: center;
- align-items: center;
- padding: 1rem;
- width: 91.6% !important;
- background-color: rgb(241, 241, 241);
- color: rgb(179, 179, 179);
- border: 2px dashed rgb(216, 216, 216);
- border-radius: 5px;
- font-size: 1.5rem;
- margin-bottom: 2rem;
- margin-top: 1rem;
-}
-
-.kanbanItem {
- margin: 0 !important;
- margin-top: 1rem !important;
- --padding: 0 !important;
-}
-
-.listReorder {
- padding: 0 !important;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/pages/Kanban.tsx b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/pages/Kanban.tsx
deleted file mode 100644
index 0d56362..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/pages/Kanban.tsx
+++ /dev/null
@@ -1,158 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonContent,
- IonHeader,
- IonIcon,
- IonMenuButton,
- IonPage,
- IonReorder,
- IonReorderGroup,
- // TODO: fix missing ionslide in new ionic
- // IonSlide,
- // IonSlides,
- IonTitle,
- IonToolbar,
- useIonViewDidEnter,
-} from '@ionic/react';
-import { addOutline, copyOutline, createOutline } from 'ionicons/icons';
-import React, { useEffect, useState } from 'react';
-import { Link } from 'react-router-dom';
-import { BoardItem } from '../components/Board/BoardItem';
-import { ListItem } from '../components/Board/ListItem';
-import { SettingsStore } from '../store';
-
-import styles from './Kanban.module.scss';
-
-const Kanban = (): React.JSX.Element => {
- return <>// TODO: fix missing ionslide in new ionic>;
- const view = SettingsStore.useState((s) => s.view);
- const categories = SettingsStore.useState((s) => s.categories);
- const types = SettingsStore.useState((s) => s.types);
- const items = SettingsStore.useState((s) => s.items);
-
- const [moveToggled, setMoveToggled] = useState(view === 'Board' ? true : false);
- const [categoryItems, setCategoryItems] = useState([]);
-
- useEffect(() => {
- setCategoryItems(items);
- }, [items]);
-
- const handleReorder = (e) => {
- // In a real world, production app
- // In here we could re-arrange and sort array of items
- // To be in sync with our state or simply save the new main array
-
- e.detail.complete();
- };
-
- const handleMove = (e, direction, fromCategoryID, toCategoryID, itemID) => {
- const fromIndex = categoryItems.findIndex((c) => c.id === fromCategoryID);
- const toIndex = categoryItems.findIndex((c) => c.id === toCategoryID);
-
- const tempCategoryItems = [...categoryItems];
- const itemIndex = categoryItems[fromIndex].items.findIndex((i) => i.id === itemID);
- const itemElement = document.querySelector(`#item_${fromCategoryID}_${itemIndex}`);
-
- const tempItem = { ...categoryItems[fromIndex].items[itemIndex] };
- tempCategoryItems[toIndex].items.push(tempItem);
-
- itemElement.classList.add(`animate__slideOut${direction}`);
-
- setTimeout(() => {
- itemElement.classList.remove(`animate__slideOut${direction}`);
- tempCategoryItems[fromIndex].items.splice(itemIndex, 1);
- setCategoryItems(tempCategoryItems);
- }, 700);
- };
-
- useIonViewDidEnter(() => {
- document.querySelector('#slider') && document.querySelector('#slider').update();
- });
-
- return (
-
-
-
-
-
-
- {view} View
- {view === 'Board' && (
-
- setMoveToggled(!moveToggled)}>
-
-
-
- )}
-
-
-
-
-
-
- {view} View
-
-
-
-
- {categoryItems.map(({ items, id }, index) => {
- const name = categories.filter((c) => c.id === id)[0].name;
-
- return (
-
-
- {name} ({items.length})
-
-
-
- {items.map((item, index) => {
- const type = types.filter((t) => t.id === item.typeID)[0];
-
- return (
-
- {view === 'Board' && (
-
- )}
- {view === 'List' && (
-
- )}
-
- );
- })}
-
-
-
-
-
-
- );
- })}
-
-
-
- );
-};
-
-export default Kanban;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/store/SettingsStore.ts b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/store/SettingsStore.ts
deleted file mode 100644
index 93cd3a6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/store/SettingsStore.ts
+++ /dev/null
@@ -1,164 +0,0 @@
-import { arrowUpOutline, bugOutline, flashOutline, keyOutline } from 'ionicons/icons';
-import { Store } from 'pullstate';
-
-const SettingsStore = new Store({
- view: 'Board',
- filter: '',
- types: [
- {
- id: 1,
- name: 'bug',
- color: '#ec1111',
- icon: bugOutline,
- },
- {
- id: 2,
- name: 'improvement',
- color: '#0bbe28',
- icon: arrowUpOutline,
- },
- {
- id: 3,
- name: 'enhancement',
- color: '#680bbe',
- icon: flashOutline,
- },
- {
- id: 4,
- name: 'task',
- color: '#0b7ebe',
- icon: keyOutline,
- },
- ],
- categories: [
- { id: 1, name: 'To Do' },
- { id: 2, name: 'In Progress' },
- { id: 3, name: 'Done' },
- ],
- items: [
- {
- id: 1,
- items: [
- {
- id: 1,
- name: 'Adding projects',
- summary: 'Give users the option to add projects and add items to projects',
- labels: ['CSS', 'Design', 'Framework'],
- typeID: 3,
- },
- {
- id: 2,
- name: 'Add filter by labels',
- summary:
- 'Add the option to filter items by labels on the board to give the user more control',
- labels: ['Filtering', 'Labels'],
- typeID: 2,
- },
- {
- id: 3,
- name: "Can't move items after add",
- summary:
- 'When the user adds a new item, for some reason, it breaks the ability to move items across categories',
- labels: ['Move', 'Array', 'Object', 'Broke'],
- typeID: 1,
- },
- {
- id: 4,
- name: 'Hook a database up',
- summary: 'Link app to a database like MongoDB or Firebase for sync and save',
- labels: ['Database', 'MongoDB', 'Firebase'],
- typeID: 4,
- },
- {
- id: 5,
- name: 'Add a remove option',
- summary: 'Allow the user to remove items from list and board views',
- labels: ['Remove', 'Delete', 'Item'],
- typeID: 1,
- },
- ],
- },
- {
- id: 2,
- items: [
- {
- id: 1,
- name: 'Add a list view',
- summary: 'Allow users to view items on boards in a list view',
- labels: ['Kanban', 'List', 'View'],
- typeID: 3,
- },
- {
- id: 2,
- name: 'Write some fake tickets',
- summary: 'Fill out this app with some fake, real looking tickets',
- labels: ['Tickets', 'Todo', 'Items'],
- typeID: 4,
- },
- ],
- },
- {
- id: 3,
- items: [
- {
- id: 1,
- name: 'Fix bug with IonSlide',
- summary: 'When navigating to the add screen, and coming back, the slides are stuck',
- labels: ['Ionic', 'Slides', 'Stuck'],
- typeID: 1,
- },
- {
- id: 2,
- name: 'Add slick features',
- summary:
- 'Add the ability to move cards or items from one category to another, still using IonSlides and IonReorder',
- labels: ['Ionic', 'IonSlides', 'IonReorder'],
- typeID: 2,
- },
- {
- id: 3,
- name: 'Drag and drop items',
- summary:
- 'Give the user the ability to drag and drop items while still maintaining click functionality and propagation within the item itself',
- labels: ['DND', 'Drag', 'Drop', 'Main feature'],
- typeID: 4,
- },
- ],
- },
- ],
-});
-
-export default SettingsStore;
-
-export const addItem = (item) => {
- console.log(item);
-
- SettingsStore.update((s) => {
- const tempItems = [...s.items];
- const itemCategoryIndex = tempItems.findIndex(
- (t) => parseInt(t.id) === parseInt(item.category_id)
- );
-
- console.log({ itemCategoryIndex });
-
- tempItems[itemCategoryIndex].items.push({
- name: item.name,
- summary: item.summary,
- typeID: item.type_id,
- labels: ['test', 'test1', 'test2', 'test3'],
- });
-
- s.items = tempItems;
- });
-};
-
-// export const removeFromCart = coffeeIndex => {
-
-// SettingsStore.update(s => { s.coffee_ids.splice(coffeeIndex, 1) });
-// }
-
-export const handleViewChange = (view) => {
- SettingsStore.update((s) => {
- s.view = view;
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/store/index.ts b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/store/index.ts
deleted file mode 100644
index d8347ce..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/store/index.ts
+++ /dev/null
@@ -1 +0,0 @@
-export { default as SettingsStore } from './SettingsStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/style.scss b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/theme/variables.scss
deleted file mode 100644
index 11fac0c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoKanbanBoard/theme/variables.scss
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
-Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/
-*/
-
-.demo-kanban-board {
- /** Ionic CSS Variables **/
- * {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-
- :root {
- --ion-background-color: rgb(241, 241, 241);
- }
-
- ion-badge {
- border-radius: 5px;
- }
-
- ion-item.input {
- --background: #ffffff !important;
- --color: rgb(53, 53, 53) !important;
- margin: 1rem;
- border-radius: 5px;
- }
-
- ion-reorder-group {
- padding: 1rem;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoList/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoList/NOTES.md
deleted file mode 100644
index 9b91446..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoList/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0133
diff --git a/03_source/mobile.trunk.1/src/pages/DemoList/TestContent.tsx b/03_source/mobile.trunk.1/src/pages/DemoList/TestContent.tsx
deleted file mode 100644
index 39fd43b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoList/TestContent.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { format } from 'date-fns';
-
-export const TestContent = {
- eventDate: format(new Date(), 'yyyy-MM-dd'),
- title: 'helloworld',
- price: 123,
- currency: 'HKD',
- duration_m: 480,
- ageBottom: 12,
- ageTop: 48,
- location: 'Hong Kong Island',
- avatar: 'https://www.ionics.io/img/ionic-logo.png',
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoList/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoList/index.tsx
deleted file mode 100644
index a0444f6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoList/index.tsx
+++ /dev/null
@@ -1,861 +0,0 @@
-// REQ0054/user-setting
-//
-// PURPOSE:
-// - Provides functionality view user profile
-//
-// RULES:
-// - T.B.A.
-//
-import React, { useEffect, useRef, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonGrid,
- IonRow,
- IonCol,
- useIonRouter,
- IonButton,
- IonIcon,
- IonPopover,
- IonAvatar,
- IonImg,
- IonItem,
- IonLabel,
- IonList,
- IonModal,
- IonSearchbar,
- useIonModal,
- IonInput,
- IonNote,
- IonText,
-} from '@ionic/react';
-import SpeakerItem from '../../components/SpeakerItem';
-import { Speaker } from '../../models/Speaker';
-import { Session } from '../../models/Schedule';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-import '../SpeakerList.scss';
-import { getEvents } from '../../api/getEvents';
-import { format } from 'date-fns';
-import { Event } from './types';
-import {
- alertCircleOutline,
- alertOutline,
- apps,
- appsOutline,
- book,
- bookOutline,
- brushOutline,
- calculatorOutline,
- car,
- cart,
- cartOutline,
- cashOutline,
- chatbubbleEllipses,
- chatbubbleEllipsesOutline,
- chatbubbleOutline,
- chevronBackOutline,
- chevronForward,
- chevronForwardOutline,
- cloudOutline,
- codeSlashOutline,
- codeWorkingOutline,
- colorPaletteOutline,
- createOutline,
- document,
- documentTextOutline,
- filmOutline,
- flashOutline,
- gift,
- giftOutline,
- globeSharp,
- gridOutline,
- heart,
- imageOutline,
- imagesOutline,
- keyOutline,
- languageOutline,
- layers,
- layersOutline,
- list,
- listCircle,
- listOutline,
- logInOutline,
- logoFacebook,
- mapOutline,
- menuOutline,
- paperPlaneOutline,
- people,
- person,
- personCircleOutline,
- personOutline,
- pizzaOutline,
- qrCodeOutline,
- refreshOutline,
- restaurant,
- restaurantOutline,
- settingsOutline,
- shareSocialOutline,
- statsChart,
- sunny,
- swapHorizontal,
- trashOutline,
- walkOutline,
-} from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-import { OverlayEventDetail } from '@ionic/react/dist/types/components/react-component-lib/interfaces';
-import PATHS from '../../PATHS';
-import { logoutUser, setAccessToken, setIsLoggedIn } from '../../data/user/user.actions';
-
-interface OwnProps {}
-
-interface StateProps {
- speakers: Speaker[];
- speakerSessions: { [key: string]: Session[] };
-}
-
-interface DispatchProps {
- logoutUser: typeof logoutUser;
- setAccessToken: typeof setAccessToken;
- setIsLoggedIn: typeof setIsLoggedIn;
-}
-
-interface SettingsProps extends OwnProps, StateProps, DispatchProps {}
-
-const DemoList: React.FC = ({
- speakers,
- speakerSessions,
- logoutUser,
- setAccessToken,
- setIsLoggedIn,
-}) => {
- const [events, setEvents] = useState([]);
- const [showPopover, setShowPopover] = useState(false);
- const [popoverEvent, setPopoverEvent] = useState();
- const modal = useRef(null);
-
- const router = useIonRouter();
-
- useEffect(() => {
- getEvents().then(({ data }) => {
- console.log({ data });
- setEvents(data);
- });
- }, []);
-
- function handleBackButtonClick() {
- router.goBack();
- }
-
- function handleLanguageClick() {
- router.push(PATHS.CHANGE_LANGUAGE);
- }
-
- function handleNotImplementedClick() {
- router.push(PATHS.NOT_IMPLEMENTED);
- }
-
- function handleDemoPageClick() {
- router.push(PATHS.DEMO_PAGE);
- }
-
- function handleServiceAgreementClick() {
- router.push(PATHS.SERVICE_AGREEMENT);
- }
-
- function handlePrivacyAgreementClick() {
- router.push(PATHS.PRIVACY_AGREEMENT);
- }
-
- const [showLogoutConfirmModal, setShowLogoutConfirmModal] = useState(false);
- function handleConfirmLogoutClick() {
- setShowLogoutConfirmModal(true);
- }
-
- function handleLogoutClick() {
- setAccessToken();
- setIsLoggedIn(false);
-
- router.push('/tabs', 'forward', 'replace');
-
- setShowLogoutConfirmModal(false);
- }
- function handleLogoutCancel() {
- setShowLogoutConfirmModal(false);
- }
-
- function handleDemoReactShopClick() {
- router.push(PATHS.DEMO_REACT_SHOP);
- }
-
- return (
-
-
-
-
- {/* */}
- handleBackButtonClick()}>
-
-
-
-
-
-
- Setting
-
-
-
-
-
-
-
- Setting
-
-
-
-
- router.push(PATHS.DEMO_WEATHER_APP_UI)}>
-
- Weather App
-
-
-
-
-
- router.push(PATHS.DEMO_2FA_EXAMPLE, 'forward')}>
-
-
- Demo 2FA Example{' '}
- layout only, not functioning
-
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_THEME_SWITCHER, 'forward')}
- >
-
- Demo React Theme Switcher
-
-
-
-
-
- router.push(PATHS.DEMO_SKELETON_TEXT, 'forward')}>
-
- Demo Skeleton Text
-
-
-
-
-
- router.push(PATHS.DEMO_STICKY_BOTTOM_SHEET_EXAMPLE, 'forward')}
- >
-
- Demo Sticky Bottom Sheet Example
-
-
-
-
-
- router.push(PATHS.DEMO_STORAGE_EXAMPLE, 'forward')}>
-
-
- Demo Storage Example{' '}
- (need fix, message cannot display)
-
-
-
-
-
-
- router.push(PATHS.DEMO_SWIPERJS_TUTORIAL, 'forward')}
- >
-
- Demo SwiperJS Tutorial
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_DRAWING_CANVAS, 'forward')}
- >
-
- Demo React Drawing Canvas
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_HOOK_FORM_EXAMPLE, 'forward')}
- >
-
- Demo React Hook Form Example
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_ITEM_LIST, 'forward')}>
-
- Demo React Item List
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_LIFECYCLES, 'forward')}
- >
-
- Demo React Lifecycles
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_LOGIN, 'forward')}>
-
-
- Demo React Login (missing back button)
-
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_MARVEL_APP, 'forward')}
- >
-
- Demo React Marvel App
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_MOVIE_APP_WITH_ALGOLIA, 'forward')}
- >
-
- Demo React Movie App with Algolia
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_NOTES, 'forward')}>
-
-
- Demo React Notes{' '}
- TODO: need update IonSlide
-
-
-
-
-
-
- router.push(PATHS.DEMO_FACEBOOK_CLONE, 'forward')}>
-
- Demo Facebook Clone
-
-
-
-
-
- router.push(PATHS.DEMO_FAST_FOOD_APP, 'forward')}>
-
-
- Demo Fast Food App ion-slide outstanding
-
-
-
-
-
-
- router.push(PATHS.DEMO_FLOATING_TABS, 'forward')}>
-
- Demo Floating Tabs
-
-
-
-
-
- router.push(PATHS.DEMO_INSTAGRAM_CLONE, 'forward')}>
-
- Demo Instagram Clone
-
-
-
-
-
- router.push(PATHS.DEMO_KANBAN_BOARD, 'forward')}>
-
-
- Demo Kanban Board{' '}
- // TODO: fix missing ionslide in new ionic
-
-
-
-
-
-
- router.push(PATHS.DEMO_ORDERING_APP, 'forward')}>
-
-
- Demo Ordering App outstanding css
-
-
-
-
-
-
- router.push(PATHS.DEMO_PROFILE_EXAMPLE, 'forward')}>
-
- Demo Profile Example
-
-
-
-
-
- router.push(PATHS.DEMO_PULLSTATE_TUTORIAL, 'forward')}
- >
-
- Demo Pullstate Tutorial
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_ADD_TO_CART, 'forward')}
- >
-
- Demo React Add to Cart
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_CALCULATOR, 'forward')}
- >
-
-
- Demo React Calculator css need fix
-
-
-
-
-
-
- router.push(PATHS.DEMO_ACCORDION_TUTORIAL, 'forward')}
- >
-
- Demo Accordion Tutorial
-
-
-
-
-
- router.push(PATHS.DEMO_BANKING_UI, 'forward')}>
-
-
- Demo Banking UI{' '}
- (in the middle, style outstanding)
-
-
-
-
-
-
- router.push(PATHS.DEMO_CAPACITOR_GOOGLE_MAPS_TUTORIAL, 'forward')}
- >
-
-
- Demo Capacitor Google Maps Tutorial{' '}
- need a google map api key
-
-
-
-
-
-
- router.push(PATHS.DEMO_COLOR_TUTORIAL, 'forward')}>
-
- Demo Color Tutorial
-
-
-
-
-
- router.push(PATHS.DEMO_ECOMMERCE_EXAMPLE, 'forward')}
- >
-
-
- Demo Ecommerce Example{' '}
- (fetch data not available at remote site)
-
-
-
-
-
- {/*
-
- router.push(paths.DEMO_REACT_WHATSAPP_CLONE, 'forward')}>
-
-
- Demo React WhatsApp Clone (need to resolve path problem)
-
-
-
-
- */}
-
-
- router.push(PATHS.DEMO_REACT_POLL_APP, 'forward')}>
-
-
- Demo React Poll App{' '}
- (css temporary broken, ignored)
-
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_SWITCH_TABS, 'forward')}
- >
-
-
- Demo React Switch Tabs{' '}
- (hardcoded back button)
-
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_OVERLAY_HOOKS, 'forward')}
- >
-
- Demo React Overlay Hooks
-
-
-
-
-
- router.push(PATHS.DEMO_PINTEREST_FLOATING_TAB_BAR, 'forward')}
- >
-
-
- Demo Pinterest Floating Tab Bar{' '}
- (css not work well)
-
-
-
-
-
-
- router.push(PATHS.DEMO_RESTAURANT_FINDER, 'forward')}
- >
-
-
- Demo Restaurant Finder{' '}
- need server for map showing
-
-
-
-
-
-
- handleDemoReactShopClick()}>
-
- Demo React Shop
-
-
-
-
-
- {
- router.push(PATHS.DEMO_CLUB_HOUSE, 'forward');
- }}
- >
-
- Demo Club house
-
-
-
-
-
- {
- router.push(PATHS.DEMO_SCORE_BOARD, 'forward');
- }}
- >
-
-
- Demo Score Board
- (IonCard problem)
-
-
-
-
-
-
- router.push(PATHS.DEMO_QUOTE_APP, 'forward')}>
-
- Demo Quote App
-
-
-
-
-
- router.push(PATHS.DEMO_QR_SCANNER, 'forward')}>
-
- Demo Qr scanner
-
-
-
-
-
- router.push(PATHS.DEMO_SHOP_APP_UI, 'forward')}>
-
- Demo Shop App UI
-
-
-
-
-
- router.push(PATHS.DEMO_DICTIONARY_APP, 'forward')}>
-
- Demo Dictionary App
-
-
-
-
-
- router.push(PATHS.DEMO_RECIPE_APP, 'forward')}>
-
- Demo Recipe App
-
-
-
-
-
- router.push(PATHS.DEMO_SLIDING_PROFILE, 'forward')}>
-
- Demo Sliding Profile
-
-
-
-
-
- router.push(PATHS.DEMO_QUIZ_APP, 'forward')}>
-
- Demo Quiz App
-
-
-
-
-
- router.push(PATHS.DEMO_BLOG_POST_UI, 'forward')}>
-
- Demo Blog Post UI
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_TRAVEL_APP, 'forward')}
- >
-
-
- Demo React Travel App (on hold)
-
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_PROFILE_DASHBOARD_UI, 'forward')}
- >
-
- Demo React Profile Dashboard UI
-
-
-
-
- {/* TODO: */}
-
-
- router.push(PATHS.DEMO_REACT_QR_CODE, 'forward')}>
-
-
- Demo React QR Code need update
-
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_QUOTES, 'forward')}>
-
- Demo React Quotes
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_SHOP_UI, 'forward')}>
-
-
- Demo React Shop UI lower priority
-
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_TABS_MENUS_CUSTOM, 'forward')}
- >
-
- Demo React Tabs Menus Custom
-
-
-
-
-
- router.push(PATHS.DEMO_REACT_ONBOARDING_UI, 'forward')}
- >
-
-
- Demo React Onboarding UI{' '}
- TODO: update IonSlide
-
-
-
-
-
-
- {/* REQ0058/logout */}
-
-
-
-
-
-
-
- Logout
-
-
- Unable to receive notifications after logging out
-
-
-
-
- Cancel
-
-
- Logout
-
-
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- speakers: selectors.getSpeakers(state),
- speakerSessions: selectors.getSpeakerSessions(state),
- }),
- mapDispatchToProps: {
- logoutUser,
- setAccessToken,
- setIsLoggedIn,
- },
- component: React.memo(DemoList),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/DemoList/style.scss b/03_source/mobile.trunk.1/src/pages/DemoList/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoList/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoList/types.ts b/03_source/mobile.trunk.1/src/pages/DemoList/types.ts
deleted file mode 100644
index 2f4577f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoList/types.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-export interface Event {
- eventDate: Date;
- joinMembers: undefined;
- title: string;
- price: number;
- currency: string;
- duration_m: number;
- ageBottom: number;
- ageTop: number;
- location: string;
- avatar: string;
- //
- id: string;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/NOTES.md
deleted file mode 100644
index c026b37..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0134
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/CoffeeCard.module.css b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/CoffeeCard.module.css
deleted file mode 100644
index 41919a3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/CoffeeCard.module.css
+++ /dev/null
@@ -1,54 +0,0 @@
-.coffeeCard {
-
- padding: 0.8rem;
- border-radius: 20px;
-}
-
-.coffeeCard img {
-
- border-radius: 20px;
- height: 10rem;
- width: 100%;
-}
-
-.coffeeCard ion-card-title {
-
- margin-top: 1rem;
- font-size: 1rem;
-}
-
-.coffeePrice {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- margin-top: -0.2rem;
-}
-
-.coffeeAddButton {
-
- color: var(--ion-color-main) !important;
- margin-top: 0.5rem;
-}
-
-.coffeeCardLong img {
-
- border-radius: 20px;
- height: 5rem !important;
- width: 100%;
-}
-
-.coffeeCardLongDetails {
-
- margin-left: 1rem;
- margin-top: -0.7rem;
-}
-
-.coffeeCardLongDetails p {
-
- font-size: 0.8rem;
- margin: 0;
- margin-top: 0.2rem;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/CoffeeCard.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/CoffeeCard.tsx
deleted file mode 100644
index 358b630..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/CoffeeCard.tsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { IonCard, IonCardSubtitle, IonCardTitle, IonCol } from '@ionic/react';
-import { ArrowRightSquare } from 'react-iconly';
-
-import styles from './CoffeeCard.module.css';
-
-const CoffeeCard = (props) => {
- const { coffee } = props;
-
- return (
-
-
-
- {coffee.name}
- {coffee.summary}
-
-
-
- );
-};
-
-export default CoffeeCard;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/CoffeeCardOffer.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/CoffeeCardOffer.tsx
deleted file mode 100644
index 2d4db06..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/CoffeeCardOffer.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import { IonCard, IonCardSubtitle, IonCardTitle, IonCol, IonRow } from '@ionic/react';
-import { Plus } from 'react-iconly';
-
-import styles from './CoffeeCard.module.css';
-
-const CoffeeCardOffer = (props) => {
- const { offer } = props;
-
- return (
-
-
-
-
-
-
-
-
-
-
-
{offer.title}
-
{offer.description}
-
-
-
-
-
-
- );
-};
-
-export default CoffeeCardOffer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/Tabs.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/Tabs.tsx
deleted file mode 100644
index 2f8443e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/Tabs.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import React from 'react';
-import { IonIcon, IonLabel, IonTabBar, IonTabButton, IonTabs, IonRouterOutlet } from '@ionic/react';
-import { Redirect, Route } from 'react-router-dom';
-
-import { Home, Bag, Heart2, Notification } from 'react-iconly';
-import Homepage from '../pages/Home';
-import Favourites from '../pages/Favourites';
-import Cart from '../pages/Cart';
-
-const Tabs = (props) => {
- return (
-
-
- }
- />
- } />
- }
- />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Tabs;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/ViewCoffeeCard.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/ViewCoffeeCard.tsx
deleted file mode 100644
index 5c035ce..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/components/ViewCoffeeCard.tsx
+++ /dev/null
@@ -1,70 +0,0 @@
-import { IonButton, IonCard, IonCardSubtitle, IonCardTitle, IonCol, IonRow } from '@ionic/react';
-
-import { useRef } from 'react';
-import { Bag } from 'react-iconly';
-import { addToCart } from '../store/CartStore';
-import '../pages/Home.scss';
-
-const ViewCoffeeCard = (props) => {
- const { coffee, cartRef } = props;
- const coffeeCartRef = useRef();
-
- const addCoffeeToCart = (e, coffeeID) => {
- e.preventDefault();
- e.stopPropagation();
-
- coffeeCartRef.current.style.display = '';
- coffeeCartRef.current.classList.add('animate__fadeOutUp');
-
- setTimeout(() => {
- cartRef.current.classList.add('animate__tada');
- addToCart(coffeeID);
-
- setTimeout(() => {
- cartRef.current.classList.remove('animate__tada');
- coffeeCartRef.current.style.display = 'none';
- }, 500);
- }, 500);
- };
-
- return (
-
-
-
-
- {coffee.name}
- {coffee.summary}
-
-
-
-
- Description
- {coffee.description}
-
-
-
-
- View →
-
-
-
-
- addCoffeeToCart(e, coffee.id)}>
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default ViewCoffeeCard;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/index.tsx
deleted file mode 100644
index d5213c5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/index.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-import './theme/variables.scss';
-
-import Tabs from './components/Tabs';
-import Homepage from './pages/Home';
-import ViewCoffee from './pages/ViewCoffee';
-import ViewCoffees from './pages/ViewCoffees';
-import React from 'react';
-
-function DemoOrderingApp(): React.JSX.Element {
- return (
-
-
- } />
- }
- />
- }
- />
- }
- />
-
-
-
-
-
- );
-}
-
-export default DemoOrderingApp;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/module.d.ts b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/module.d.ts
deleted file mode 100644
index d774364..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/module.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-declare module '*.module.css' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Cart.module.css b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Cart.module.css
deleted file mode 100644
index 427e2f6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Cart.module.css
+++ /dev/null
@@ -1,39 +0,0 @@
-.cartCheckout {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- margin: 1rem;
-}
-
-.cartFooter {
- border-top: 2px solid #141a22;
- background-color: var(--ion-background-color);
- padding-left: 1rem;
- padding-right: 1rem;
-}
-
-.cartCheckout ion-card-subtitle {
- font-size: 1.3rem;
- color: white !important;
-}
-
-.cartItem {
- padding: 1rem;
-}
-
-.cartItem img {
- height: 3rem;
- width: 3rem;
- border-radius: 10px;
-}
-
-.cartSlider:not(:nth-child(1)) {
- border-top: 2px solid var(--ion-background-color);
-}
-
-.cartActions {
- display: flex;
- flex-direction: column;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Cart.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Cart.tsx
deleted file mode 100644
index a9342fc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Cart.tsx
+++ /dev/null
@@ -1,129 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonFooter,
- IonHeader,
- IonItem,
- IonItemOption,
- IonItemOptions,
- IonItemSliding,
- IonLabel,
- IonList,
- IonNote,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { Delete, TickSquare } from 'react-iconly';
-import { useEffect, useState } from 'react';
-import { CartStore, CoffeeStore } from '../store';
-import { removeFromCart } from '../store/CartStore';
-import { getCartCoffees, getCoffees } from '../store/Selectors';
-
-import styles from './Cart.module.css';
-
-const Cart = (): React.JSX.Element => {
- const coffees = CoffeeStore.useState(getCoffees);
- const cart = CartStore.useState(getCartCoffees);
-
- const [cartProducts, setCartProducts] = useState([]);
- const [amountLoaded, setAmountLoaded] = useState(6);
- const [total, setTotal] = useState(0);
-
- useEffect(() => {
- const getCartProducts = () => {
- setCartProducts([]);
- setTotal(0);
-
- cart.forEach((coffee) => {
- var coffeeID = coffee;
- const tempCoffee = coffees.filter((p) => parseInt(p.id) === parseInt(coffeeID))[0];
-
- setTotal((prevTotal) => prevTotal + parseFloat(tempCoffee.price));
- setCartProducts((prevSearchResults) => [...prevSearchResults, tempCoffee]);
- });
- };
-
- getCartProducts();
- }, [cart]);
-
- const fetchMore = async (e) => {
- // Increment the amount loaded by 6 for the next iteration
- setAmountLoaded((prevAmount) => prevAmount + 6);
- e.target.complete();
- };
-
- const removeProductFromCart = async (index) => {
- removeFromCart(index);
- };
-
- return (
-
-
-
- Checkout
-
-
-
-
-
-
-
- {cartProducts && cartProducts.length}{' '}
- {cartProducts.length > 1 || cartProducts.length === 0 ? ' coffees' : ' coffee'} found
-
-
-
-
-
- {cartProducts &&
- cartProducts.map((coffee, index) => {
- if (index <= amountLoaded) {
- return (
-
-
-
-
- {coffee.name}
-
-
-
- ${coffee.price}
-
-
-
-
- removeProductFromCart(index)}
- >
-
-
-
-
- );
- }
- })}
-
-
-
-
-
- ${total.toFixed(2)}
-
-
-
- Checkout
-
-
-
-
- );
-};
-
-export default Cart;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Favourites.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Favourites.tsx
deleted file mode 100644
index cc74788..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Favourites.tsx
+++ /dev/null
@@ -1,113 +0,0 @@
-import {
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonNote,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { Bag } from 'react-iconly';
-import { useEffect, useRef, useState } from 'react';
-import ViewCoffeeCard from '../components/ViewCoffeeCard';
-import { CartStore, CoffeeStore, FavouriteStore } from '../store';
-import { getCartCoffees, getCoffees, getFavouriteCoffees } from '../store/Selectors';
-import './Home.scss';
-
-const Favourites = (): React.JSX.Element => {
- const cartRef = useRef(null);
- const router = useIonRouter();
-
- const coffees = CoffeeStore.useState(getCoffees);
- const favourites = FavouriteStore.useState(getFavouriteCoffees);
- const cart = CartStore.useState(getCartCoffees);
-
- const [searchResults, setSearchResults] = useState([]);
- const [amountLoaded, setAmountLoaded] = useState(6);
-
- useEffect(() => {
- const getFavourites = () => {
- setSearchResults([]);
-
- favourites.forEach((favourite) => {
- var coffeeID = favourite;
- const tempCoffee = coffees.filter((c) => parseInt(c.id) === parseInt(coffeeID))[0];
- setSearchResults((prevSearchResults) => [...prevSearchResults, tempCoffee]);
- });
- };
-
- getFavourites();
- }, [favourites]);
-
- const fetchMore = async (e) => {
- // Increment the amount loaded by 6 for the next iteration
- setAmountLoaded((prevAmount) => prevAmount + 6);
- e.target.complete();
- };
-
- return (
-
-
-
- Favourites
-
-
- router.goBack()}
- >
- 0 ? 'yellow-icon' : 'gray-icon'} />
-
-
-
-
-
-
-
-
-
-
- {searchResults && searchResults.length}{' '}
- {searchResults.length > 1 || searchResults.length === 0
- ? ' favourites'
- : ' favourite'}{' '}
- found
-
-
-
-
-
- {searchResults &&
- searchResults.map((coffee, index) => {
- if (index <= amountLoaded) {
- return (
-
- );
- }
- })}
-
-
-
-
-
-
-
-
- );
-};
-
-export default Favourites;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Home.scss b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Home.scss
deleted file mode 100644
index a9fa354..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Home.scss
+++ /dev/null
@@ -1,11 +0,0 @@
-.demo-ordering-app {
- .main-heading {
- font-size: 2.3rem;
- font-weight: 700;
- }
-
- .heading {
- letter-spacing: -0.05rem;
- margin-left: 1rem;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Home.tsx
deleted file mode 100644
index c5c018b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/Home.tsx
+++ /dev/null
@@ -1,115 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRouterLink,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { chevronBackOutline, searchSharp } from 'ionicons/icons';
-import { Category, Filter } from 'react-iconly';
-import CoffeeCard from '../components/CoffeeCard';
-import CoffeeCardOffer from '../components/CoffeeCardOffer';
-
-import { CoffeeStore, CoffeeOfferStore } from '../store';
-import { getCoffees, getOffers } from '../store/Selectors';
-import './Home.scss';
-
-const Homepage = (): React.JSX.Element => {
- const router = useIonRouter();
- const coffees = CoffeeStore.useState(getCoffees);
- const offers = CoffeeOfferStore.useState(getOffers);
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Ionic Coffee
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Find the best coffee near you
-
-
-
-
-
-
-
-
- router.push('/coffees/true')}
- searchIcon={searchSharp}
- placeholder="Try 'Caramel Latte'"
- />
-
-
-
-
- Popular
-
-
-
-
-
-
-
- {coffees.map((coffee) => {
- if (coffee.id <= 2) {
- return ;
- }
- })}
-
-
-
-
- Special Offers
-
-
-
- {offers.map((offer) => {
- return ;
- })}
-
-
-
- );
-};
-
-export default Homepage;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/ViewCoffee.module.css b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/ViewCoffee.module.css
deleted file mode 100644
index f472b46..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/ViewCoffee.module.css
+++ /dev/null
@@ -1,50 +0,0 @@
-.checkout {
-
- border-top: 2px solid #141a22;
- background-color: var(--ion-background-color);
- padding-bottom: 1rem;
-}
-
-.checkoutDetails {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- margin-left: 2rem;
- margin-right: 1rem;
- margin-top: 0.5rem;
- margin-bottom: 0.5rem;
-}
-
-.checkoutDetails ion-button {
-
- width: 60%;
- --border-radius: 10px;
- height: 3.5rem;
-}
-
-.priceDetails {
-
- /* margin-left: 2rem; */
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-content: center;
- align-items: center;
-}
-
-.priceDetails h4 {
-
- margin: 0;
- padding: 0;
- color: white !important;
-}
-
-.extra {
-
- margin-top: 0.3rem;
- padding: 0.75rem;
- color: #475464;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/ViewCoffee.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/ViewCoffee.tsx
deleted file mode 100644
index 93c9dd5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/ViewCoffee.tsx
+++ /dev/null
@@ -1,208 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCard,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonFooter,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { useEffect, useRef, useState } from 'react';
-import { Bag, Heart, CaretLeft, InfoSquare } from 'react-iconly';
-import { useParams } from 'react-router';
-import { CoffeeSizeStore, CoffeeStore, FavouriteStore } from '../store';
-import { addToCart } from '../store/CartStore';
-import { addToFavourites } from '../store/FavouriteStore';
-import { getCoffee, getCoffeeSizes, getFavouriteCoffees } from '../store/Selectors';
-import './Home.scss';
-
-import styles from './ViewCoffee.module.css';
-
-const ViewCoffee = (props): React.JSX.Element => {
- const router = useIonRouter();
- const params = useParams();
- const coffee = CoffeeStore.useState(getCoffee(params.id));
- const favourites = FavouriteStore.useState(getFavouriteCoffees);
- const coffeeSizes = CoffeeSizeStore.useState(getCoffeeSizes);
- const [selectedSize, setSelectedSize] = useState(false);
-
- const favouriteRef = useRef();
- const coffeeCartRef = useRef();
- const [isFavourite, setIsFavourite] = useState(false);
-
- const getPrice = () =>
- coffee.prices.filter((p) => parseInt(p.size_id) === parseInt(selectedSize))[0].price;
-
- useEffect(() => {
- const coffeeID = params.id;
- const tempIsFavourite = favourites.find((f) => parseInt(f) === parseInt(coffeeID));
-
- setIsFavourite(tempIsFavourite);
- }, [params.id, favourites]);
-
- const addCoffeeToFavourites = (e, coffeeID) => {
- e.preventDefault();
- addToFavourites(coffeeID);
-
- favouriteRef.current.classList.add('animate__tada');
-
- setTimeout(() => {
- favouriteRef.current.classList.remove('animate__tada');
- }, 700);
- };
-
- const addCoffeeToCart = (e, coffeeID) => {
- e.preventDefault();
- e.stopPropagation();
-
- coffeeCartRef.current.style.display = '';
- coffeeCartRef.current.classList.add('animate__fadeOutUp');
-
- setTimeout(() => {
- addToCart(coffeeID);
-
- setTimeout(() => {
- coffeeCartRef.current.style.display = 'none';
- }, 500);
- }, 500);
- };
-
- return (
-
-
-
-
- router.goBack()}>
-
-
-
-
- {coffee.name}
-
-
- addCoffeeToFavourites(e, coffee.id)}
- >
-
-
-
-
-
-
-
-
-
-
-
- {coffee.name}
- {coffee.summary}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Description
- {coffee.description}
-
-
-
-
-
-
- Extras included
-
-
-
- {coffee.extras.map((extra, index) => {
- return (
-
- {extra}
-
- );
- })}
-
-
-
-
-
-
-
- Pick your size
-
-
- {coffeeSizes.map((size) => {
- return (
-
- setSelectedSize(size.id)}
- expand="block"
- color={size.id === selectedSize ? 'main' : 'custom-light'}
- fill={size.id === selectedSize ? 'outline' : 'solid'}
- >
- {size.name}
-
-
- );
- })}
-
-
-
-
-
-
-
-
-
- Price
-
${selectedSize ? getPrice() : '0.00'}
-
-
addCoffeeToCart(e, coffee.id)}
- disabled={!selectedSize}
- expand="block"
- color="main"
- >
- Add to cart
-
-
-
-
-
-
-
-
- );
-};
-
-export default ViewCoffee;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/ViewCoffees.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/ViewCoffees.tsx
deleted file mode 100644
index 2bc79e0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/pages/ViewCoffees.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonButtons,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
- useIonRouter,
- useIonViewDidEnter,
-} from '@ionic/react';
-import { searchSharp } from 'ionicons/icons';
-import { useRef, useState } from 'react';
-import { Bag, CaretLeft } from 'react-iconly';
-import { useParams } from 'react-router';
-import ViewCoffeeCard from '../components/ViewCoffeeCard';
-import { CartStore, CoffeeStore } from '../store';
-import { getCoffees, getCartCoffees } from '../store/Selectors';
-import './Home.scss';
-
-const ViewCoffees = (props): React.JSX.Element => {
- const router = useIonRouter();
- const params = useParams();
- const coffees = CoffeeStore.useState(getCoffees);
- const cart = CartStore.useState(getCartCoffees);
- const [results, setResults] = useState(coffees);
-
- const cartRef = useRef();
- const searchRef = useRef();
-
- useIonViewDidEnter(() => {
- if (params.from_search) {
- setTimeout(() => {
- searchRef.current.setFocus();
- }, 500);
- }
- });
-
- const search = (e) => {
- const searchTerm = e.currentTarget.value;
-
- if (searchTerm !== '') {
- const searchTermLower = searchTerm.toLowerCase();
-
- const newResults = coffees.filter((e) => e.name.toLowerCase().includes(searchTermLower));
- setResults(newResults);
- } else {
- setResults(coffees);
- }
- };
-
- return (
-
-
-
-
- router.goBack()}>
-
-
-
-
- Full Range
-
-
- router.push('/tabs/cart')}
- >
- 0 ? 'yellow-icon' : 'gray-icon'} />
-
-
-
-
-
-
-
-
-
-
- View Full Range
- Our range of succulent coffee
-
-
-
-
-
-
-
-
- search(e)}
- id="searchbar"
- ref={searchRef}
- searchIcon={searchSharp}
- placeholder="Try 'Cappuccino'"
- />
-
-
-
- {results.map((coffee) => {
- return ;
- })}
-
-
-
- );
-};
-
-export default ViewCoffees;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CartStore.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CartStore.tsx
deleted file mode 100644
index 5562434..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CartStore.tsx
+++ /dev/null
@@ -1,20 +0,0 @@
-import { Store } from 'pullstate';
-
-const CartStore = new Store({
- total: 0,
- coffee_ids: [],
-});
-
-export default CartStore;
-
-export const addToCart = (coffeeID) => {
- CartStore.update((s) => {
- s.coffee_ids = [...s.coffee_ids, `${parseInt(coffeeID)}`];
- });
-};
-
-export const removeFromCart = (coffeeIndex) => {
- CartStore.update((s) => {
- s.coffee_ids.splice(coffeeIndex, 1);
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CoffeeOfferStore.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CoffeeOfferStore.tsx
deleted file mode 100644
index 600da3a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CoffeeOfferStore.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { Store } from 'pullstate';
-
-const CoffeeOfferStore = new Store({
- offers: [
- {
- id: 1,
- title: 'Buy one get one free!',
- description: 'Any time you buy a coffee using your loyalty card scheme, you can get one free',
- image:
- 'https://images.pexels.com/photos/861090/pexels-photo-861090.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260',
- },
- ],
-});
-
-export default CoffeeOfferStore;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CoffeeSizeStore.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CoffeeSizeStore.tsx
deleted file mode 100644
index e066f0b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CoffeeSizeStore.tsx
+++ /dev/null
@@ -1,20 +0,0 @@
-import { Store } from 'pullstate';
-
-const CoffeeSizeStore = new Store({
- sizes: [
- {
- id: 1,
- name: 'Small',
- },
- {
- id: 2,
- name: 'Medium',
- },
- {
- id: 3,
- name: 'Large',
- },
- ],
-});
-
-export default CoffeeSizeStore;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CoffeeStore.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CoffeeStore.tsx
deleted file mode 100644
index 24f142f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/CoffeeStore.tsx
+++ /dev/null
@@ -1,108 +0,0 @@
-import { Store } from 'pullstate';
-
-const CoffeeStore = new Store({
- coffees: [
- {
- id: 1,
- name: 'Cappuccino',
- summary: 'With Milk',
- extras: ['milk'],
- description:
- 'This is a beautiful cup of cappuccino, complimented with semi-skimmed milk. Comes in three different sizes.',
- price: '3.20',
- prices: [
- {
- size_id: 1,
- price: '3.20',
- },
- {
- size_id: 2,
- price: '3.90',
- },
- {
- size_id: 3,
- price: '4.20',
- },
- ],
- image:
- 'https://images.pexels.com/photos/1170659/pexels-photo-1170659.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260',
- },
- {
- id: 2,
- name: 'Lattè',
- summary: 'With Caramel',
- extras: ['caramel'],
- description:
- 'This is a beautiful cup of lattè, complimented with sweet caramel. Comes in three different sizes.',
- price: '5.10',
- prices: [
- {
- size_id: 1,
- price: '4.35',
- },
- {
- size_id: 2,
- price: '4.85',
- },
- {
- size_id: 3,
- price: '5.10',
- },
- ],
- image:
- 'https://images.pexels.com/photos/2067399/pexels-photo-2067399.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260',
- },
- {
- id: 3,
- name: 'Espresso',
- summary: 'With 2 shots',
- extras: ['2 shots'],
- description:
- 'This is a beautiful cup of espresso, complimented with 2 shots. Comes in three different sizes.',
- price: '6.20',
- prices: [
- {
- size_id: 1,
- price: '6.20',
- },
- {
- size_id: 2,
- price: '6.80',
- },
- {
- size_id: 3,
- price: '7.10',
- },
- ],
- image:
- 'https://images.pexels.com/photos/302894/pexels-photo-302894.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260',
- },
- {
- id: 4,
- name: 'Americano',
- summary: 'With Milk',
- extras: ['Milk'],
- description:
- 'This is a beautiful cup of Americano, complimented with full fat milk. Comes in three different sizes.',
- price: '5.35',
- prices: [
- {
- size_id: 1,
- price: '5.35',
- },
- {
- size_id: 2,
- price: '5.70',
- },
- {
- size_id: 3,
- price: '6.50',
- },
- ],
- image:
- 'https://images.pexels.com/photos/6207297/pexels-photo-6207297.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=750&w=1260',
- },
- ],
-});
-
-export default CoffeeStore;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/FavouriteStore.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/FavouriteStore.tsx
deleted file mode 100644
index 07e3166..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/FavouriteStore.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { Store } from 'pullstate';
-
-const FavouriteStore = new Store({
- total: 0,
- coffee_ids: [],
-});
-
-export default FavouriteStore;
-
-export const addToFavourites = (coffeeID) => {
- FavouriteStore.update((s) => {
- if (s.coffee_ids.find((id) => id === parseInt(coffeeID))) {
- s.coffee_ids = s.coffee_ids.filter((id) => id !== parseInt(coffeeID));
- } else {
- s.coffee_ids = [...s.coffee_ids, parseInt(coffeeID)];
- }
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/Selectors.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/Selectors.tsx
deleted file mode 100644
index ef89efe..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/Selectors.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getCoffees = createSelector(getState, (state) => state.coffees);
-export const getOffers = createSelector(getState, (state) => state.offers);
-export const getCoffeeSizes = createSelector(getState, (state) => state.sizes);
-export const getCartCoffees = createSelector(getState, (state) => state.coffee_ids);
-export const getFavouriteCoffees = createSelector(getState, (state) => state.coffee_ids);
-
-// More specific getters
-export const getCoffee = (id) =>
- createSelector(
- getState,
- (state) => state.coffees.filter((c) => parseInt(c.id) === parseInt(id))[0]
- );
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/index.tsx
deleted file mode 100644
index e6b0c0b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/store/index.tsx
+++ /dev/null
@@ -1,5 +0,0 @@
-export { default as CoffeeStore } from './CoffeeStore';
-export { default as CoffeeSizeStore } from './CoffeeSizeStore';
-export { default as CoffeeOfferStore } from './CoffeeOfferStore';
-export { default as CartStore } from './CartStore';
-export { default as FavouriteStore } from './FavouriteStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/theme/variables.scss
deleted file mode 100644
index 1325221..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoOrderingApp/theme/variables.scss
+++ /dev/null
@@ -1,278 +0,0 @@
-.demo-ordering-app {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- /** Ionic CSS Variables **/
- :root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-
- /** custom **/
- --ion-color-main: rgb(221, 174, 21);
- --ion-color-main-rgb: 221, 174, 21;
- --ion-color-main-contrast: rgb(0, 0, 0);
- --ion-color-main-contrast-rgb: 0, 0, 0;
- --ion-color-main-shade: rgb(179, 142, 22);
- --ion-color-main-tint: rgb(233, 195, 71);
-
- /** custom light **/
- --ion-color-custom-light: #141a22;
- --ion-color-custom-light-contrast: #ffffff;
- --ion-color-custom-light-shade: #12171d;
- --ion-color-custom-light-tint: #232c38;
- }
-
- .ion-color-main {
- --ion-color-base: var(--ion-color-main);
- --ion-color-base-rgb: var(--ion-color-main-rgb);
- --ion-color-contrast: var(--ion-color-main-contrast);
- --ion-color-contrast-rgb: var(--ion-color-main-contrast-rgb);
- --ion-color-shade: var(--ion-color-main-shade);
- --ion-color-tint: var(--ion-color-main-tint);
- }
-
- .ion-color-custom-light {
- --ion-color-base: var(--ion-color-custom-light);
- --ion-color-contrast: var(--ion-color-custom-light-contrast);
- --ion-color-shade: var(--ion-color-custom-light-shade);
- --ion-color-tint: var(--ion-color-custom-light-tint);
- }
-
- :root {
- --main-orange-color: #d17842;
-
- --ion-background-color: #0e1016;
- --ion-background-color-rgb: 0, 0, 0;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
- --ion-item-background: #141a22;
-
- --ion-card-background: #141a22;
- --ion-tab-bar-color: #4d5053;
- --ion-tab-bar-background: #0e1016;
- --ion-tab-bar-color-selected: rgb(221, 174, 21);
-
- /* --ion-toolbar-color: white; */
- --ion-toolbar-background: #0e1016;
- --ion-toolbar-border-color: #0e1016;
- --ion-tab-bar-border-color: #0e1016;
- --ion-grid-column-padding: 0;
- }
-
- .app-icon {
- color: rgb(221, 174, 21);
- }
-
- ion-toolbar {
- --padding-start: 1rem;
- --padding-end: 1rem;
- --padding-top: 1rem;
- --padding-bottom: 1rem;
- }
-
- .inner-toolbar {
- --padding-top: 0rem !important;
- --padding-bottom: 0rem !important;
- }
-
- .button-container-img img {
- height: 2.3rem;
- border-radius: 10px;
- }
-
- .gray-icon {
- color: var(--ion-tab-bar-color);
- background-color: #1b2025;
- }
-
- .yellow-icon {
- color: var(--ion-color-main);
- background-color: #1b2025;
- }
-
- .button-container {
- background-color: #1b2025;
- border: 2px solid #1d232a;
- padding: 0.5rem;
- border-radius: 13px;
-
- display: flex;
- flex-direction: row;
- align-content: center;
- align-items: center;
- justify-content: center;
- }
-
- .button-container-img {
- background-color: #1b2025;
- border: 2px solid #1d232a;
- padding: 0.2rem;
- border-radius: 13px;
-
- display: flex;
- flex-direction: row;
- align-content: center;
- align-items: center;
- justify-content: center;
- }
-
- ion-card {
- padding: 0.8rem;
- border-radius: 20px;
- }
-
- .coffee-card img {
- border-radius: 20px;
- height: 10rem;
- width: 100%;
- }
-
- .coffee-card-long img {
- border-radius: 20px;
- height: 5rem !important;
- width: 100%;
- }
-
- .coffee-card-long-details {
- margin-left: 1rem;
- margin-top: -0.7rem;
- }
-
- .coffee-card-long-details p {
- font-size: 0.8rem;
- margin: 0;
- margin-top: 0.2rem;
- }
-
- .coffee-card ion-card-title {
- margin-top: 1rem;
- font-size: 1rem;
- }
-
- .coffee-card .coffee-price {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- margin-top: -0.2rem;
- }
-
- .coffee-card .coffee-price .add-button {
- color: var(--main-orange-color) !important;
- margin-top: 0.5rem;
- }
-
- .coffee-card .coffee-price .add-button svg {
- color: white !important;
- }
-
- .outer-heading {
- margin-bottom: -1.3rem;
- margin-left: 0.5rem;
- margin-right: 1.3rem;
- }
- /*
-.searchbar-input {
-
- padding: 1.5rem !important;
-}
-
-.searchbar-search-icon {
-
- margin-top: 0.3rem;
- margin-right: 3rem;
- padding-right: 3rem;
-} */
- /*
-ion-tab-bar {
-
- bottom: 20px;
- position: relative;
- box-shadow: 0px 0px 1.5px rgba(255, 255, 255, 0.2);
- border-radius: 16px;
-width: 92%;
-border-top: none;
-margin: 0 auto;
-height: 55px;
-}
-
-ion-tab-button {
- --padding-bottom: 8px;
- --padding-top: 8px;
-} */
-
- .custom-margin-left {
- margin-left: 0.2rem;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab1.css b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab1.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab1.jsx
deleted file mode 100644
index 62e718a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,49 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-
-import './Tab1.css';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Tab1 = () => {
- const router = useIonRouter();
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Tab 1
- {/* */}
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Tab 1
-
-
-
-
-
- );
-};
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab2.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab2.jsx
deleted file mode 100644
index f09edf4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab2.css';
-
-const Tab2 = () => {
- return (
-
-
-
- Tab 2
-
-
-
-
-
- Tab 2
-
-
-
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab3.css b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab3.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab3.jsx b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab3.jsx
deleted file mode 100644
index 903b1a0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab3.jsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab3.css';
-
-const Tab3 = () => {
- return (
-
-
-
- Tab 3
-
-
-
-
-
- Tab 3
-
-
-
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab4.jsx b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab4.jsx
deleted file mode 100644
index 9cb5fa3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/AppPages/Tab4.jsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab3.css';
-
-const Tab4 = () => {
- return (
-
-
-
- Tab 3
-
-
-
-
-
- Tab 4
-
-
-
-
-
- );
-};
-
-export default Tab4;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/NOTES.md
deleted file mode 100644
index 41d58b8..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0135
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/components/ExploreContainer.jsx b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/components/ExploreContainer.jsx
deleted file mode 100644
index 799b82a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/components/ExploreContainer.jsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import './ExploreContainer.css';
-
-const ExploreContainer = ({ name }) => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/custom-tab-bar.scss b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/custom-tab-bar.scss
deleted file mode 100644
index 1aa74fb..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/custom-tab-bar.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-.custom-tab-bar {
- * {
- /* --ion-background-color: white; */
- --ion-tab-bar-color: var(--tab-color);
- --ion-tab-bar-color-selected: var(--tab-color-selected);
- }
-
- ion-tab-bar {
- --background: var(--tab-background);
- box-shadow: 0px 1px 8px rgba(0, 0, 0, 0.4);
- border-radius: 50px !important;
-
- height: 50px;
- width: 50%;
- padding-top: 5px;
- padding-bottom: 5px;
- padding-left: 10px;
- padding-right: 10px;
-
- bottom: 20px;
- position: relative;
- margin: 0 auto !important;
- border-top: none;
- }
-
- ion-tab-button {
- border-radius: 16px !important;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/index.tsx
deleted file mode 100644
index 6ccb3e7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/index.tsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { chatbubble, cloudOutline, home, person, search, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-import Tab3 from './AppPages/Tab3';
-import Tab4 from './AppPages/Tab4';
-
-import './style.scss';
-import './custom-tab-bar.scss';
-
-function DemoPinterestFloatingTabBar() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoPinterestFloatingTabBar;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/style.scss b/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/style.scss
deleted file mode 100644
index fae1253..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPinterestFloatingTabBar/style.scss
+++ /dev/null
@@ -1,253 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-.demo-pinterest-floating-tab-bar {
- * {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-
- @media (prefers-color-scheme: dark) {
- /*
- * Dark Colors
- * -------------------------------------------
- */
-
- body {
- --ion-color-primary: #428cff;
- --ion-color-primary-rgb: 66, 140, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3a7be0;
- --ion-color-primary-tint: #5598ff;
-
- --ion-color-secondary: #50c8ff;
- --ion-color-secondary-rgb: 80, 200, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #46b0e0;
- --ion-color-secondary-tint: #62ceff;
-
- --ion-color-tertiary: #6a64ff;
- --ion-color-tertiary-rgb: 106, 100, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #5d58e0;
- --ion-color-tertiary-tint: #7974ff;
-
- --ion-color-success: #2fdf75;
- --ion-color-success-rgb: 47, 223, 117;
- --ion-color-success-contrast: #000000;
- --ion-color-success-contrast-rgb: 0, 0, 0;
- --ion-color-success-shade: #29c467;
- --ion-color-success-tint: #44e283;
-
- --ion-color-warning: #ffd534;
- --ion-color-warning-rgb: 255, 213, 52;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0bb2e;
- --ion-color-warning-tint: #ffd948;
-
- --ion-color-danger: #ff4961;
- --ion-color-danger-rgb: 255, 73, 97;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #e04055;
- --ion-color-danger-tint: #ff5b71;
-
- --ion-color-dark: #f4f5f8;
- --ion-color-dark-rgb: 244, 245, 248;
- --ion-color-dark-contrast: #000000;
- --ion-color-dark-contrast-rgb: 0, 0, 0;
- --ion-color-dark-shade: #d7d8da;
- --ion-color-dark-tint: #f5f6f9;
-
- --ion-color-medium: #989aa2;
- --ion-color-medium-rgb: 152, 154, 162;
- --ion-color-medium-contrast: #000000;
- --ion-color-medium-contrast-rgb: 0, 0, 0;
- --ion-color-medium-shade: #86888f;
- --ion-color-medium-tint: #a2a4ab;
-
- --ion-color-light: #222428;
- --ion-color-light-rgb: 34, 36, 40;
- --ion-color-light-contrast: #ffffff;
- --ion-color-light-contrast-rgb: 255, 255, 255;
- --ion-color-light-shade: #1e2023;
- --ion-color-light-tint: #383a3e;
- }
-
- /*
- * iOS Dark Theme
- * -------------------------------------------
- */
-
- .ios body {
- --ion-background-color: #000000;
- --ion-background-color-rgb: 0, 0, 0;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-color-step-50: #0d0d0d;
- --ion-color-step-100: #1a1a1a;
- --ion-color-step-150: #262626;
- --ion-color-step-200: #333333;
- --ion-color-step-250: #404040;
- --ion-color-step-300: #4d4d4d;
- --ion-color-step-350: #595959;
- --ion-color-step-400: #666666;
- --ion-color-step-450: #737373;
- --ion-color-step-500: #808080;
- --ion-color-step-550: #8c8c8c;
- --ion-color-step-600: #999999;
- --ion-color-step-650: #a6a6a6;
- --ion-color-step-700: #b3b3b3;
- --ion-color-step-750: #bfbfbf;
- --ion-color-step-800: #cccccc;
- --ion-color-step-850: #d9d9d9;
- --ion-color-step-900: #e6e6e6;
- --ion-color-step-950: #f2f2f2;
-
- --ion-item-background: #000000;
-
- --ion-card-background: #1c1c1d;
- }
-
- .ios ion-modal {
- --ion-background-color: var(--ion-color-step-100);
- --ion-toolbar-background: var(--ion-color-step-150);
- --ion-toolbar-border-color: var(--ion-color-step-250);
- }
-
- /*
- * Material Design Dark Theme
- * -------------------------------------------
- */
-
- .md body {
- --ion-background-color: #121212;
- --ion-background-color-rgb: 18, 18, 18;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-border-color: #222222;
-
- --ion-color-step-50: #1e1e1e;
- --ion-color-step-100: #2a2a2a;
- --ion-color-step-150: #363636;
- --ion-color-step-200: #414141;
- --ion-color-step-250: #4d4d4d;
- --ion-color-step-300: #595959;
- --ion-color-step-350: #656565;
- --ion-color-step-400: #717171;
- --ion-color-step-450: #7d7d7d;
- --ion-color-step-500: #898989;
- --ion-color-step-550: #949494;
- --ion-color-step-600: #a0a0a0;
- --ion-color-step-650: #acacac;
- --ion-color-step-700: #b8b8b8;
- --ion-color-step-750: #c4c4c4;
- --ion-color-step-800: #d0d0d0;
- --ion-color-step-850: #dbdbdb;
- --ion-color-step-900: #e7e7e7;
- --ion-color-step-950: #f3f3f3;
-
- --ion-item-background: #1e1e1e;
-
- --ion-toolbar-background: #1f1f1f;
-
- --ion-tab-bar-background: #1f1f1f;
-
- --ion-card-background: #1e1e1e;
- }
- }
-
- :root {
- /* Custom tab bar */
- --tab-background: rgb(251, 251, 251);
- --tab-color: rgb(153, 153, 153);
- --tab-color-selected: black;
- }
-
- @media (prefers-color-scheme: dark) {
- :root {
- /* Custom tab bar */
- --tab-background: rgb(53, 53, 53);
- --tab-color: rgb(83, 83, 83);
- --tab-color-selected: white;
- }
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/NOTES.md
deleted file mode 100644
index ab323e8..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0136
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Figure.module.scss b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Figure.module.scss
deleted file mode 100644
index 48ef851..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Figure.module.scss
+++ /dev/null
@@ -1,26 +0,0 @@
-.figure {
- padding: 1rem;
-}
-
-.figure h6 {
- font-size: 1.5rem;
- font-weight: 200;
-}
-
-.figure p {
- color: rgb(255, 255, 255);
- font-size: 0.9rem;
- font-weight: 200;
-}
-
-.figure:nth-child(1) {
- background-color: rgb(157, 163, 141);
-}
-
-.figure:nth-child(2) {
- background-color: rgb(150, 155, 138);
-}
-
-.figure:nth-child(3) {
- background-color: rgb(135, 143, 120);
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Figure.tsx b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Figure.tsx
deleted file mode 100644
index 57c6f2b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Figure.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import { IonCol } from '@ionic/react';
-import styles from './Figure.module.scss';
-
-export const Figure = (props): React.JSX.Element => (
-
- {props.count}
- {props.title}
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Post.module.scss b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Post.module.scss
deleted file mode 100644
index 3b81ae7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Post.module.scss
+++ /dev/null
@@ -1,55 +0,0 @@
-.post {
- border-bottom: 1px solid rgb(219, 219, 219);
- padding-top: 1rem;
- padding-bottom: 0.2rem;
-
- p {
- font-size: 0.9rem;
- padding: 0 !important;
- margin: 0 !important;
- }
-
- .postText {
- color: rgb(107, 112, 97);
- }
-}
-
-.postAvatar {
- height: 3.5rem;
- width: 3.5rem;
- margin-right: 1rem;
- border: 3px solid rgba(218, 223, 208, 1);
-}
-
-.postInfo {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- padding-right: 1rem;
- color: rgb(190, 190, 190);
-}
-
-.postReactions {
- display: flex;
- justify-content: space-between;
- padding-right: 1rem;
- margin-top: 0.5rem;
- color: rgb(107, 112, 97);
-
- .postReaction {
- display: flex;
- align-items: center;
- justify-content: space-between;
- font-size: 0.9rem;
-
- ion-icon {
- margin-right: 0.5rem;
- }
-
- p {
- padding: 0;
- margin: 0;
- font-size: 0.8rem;
- }
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Post.tsx b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Post.tsx
deleted file mode 100644
index 406e1dd..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/components/Post.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import { IonAvatar, IonIcon, IonItem, IonLabel } from '@ionic/react';
-import { chatbubbleOutline, heart, heartOutline, shareSocialOutline } from 'ionicons/icons';
-import styles from './Post.module.scss';
-
-export const Post = (props): React.JSX.Element => (
-
-
-
-
-
-
-
-
{props.post.date}
-
@93alan
-
- {props.post.text}
-
-
-
-
-
{props.post.comments}
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/index.tsx
deleted file mode 100644
index 392e5a6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/index.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import './style.scss';
-import Home from './pages/Home';
-
-function DemoProfileExample(): React.JSX.Element {
- return (
-
-
-
-
-
-
-
-
-
- {/*
-
-
-
- Dashboard
-
-
-
- Search
-
-
- */}
-
- );
-}
-
-export default DemoProfileExample;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/pages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/pages/Home.module.scss
deleted file mode 100644
index 5db20c8..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/pages/Home.module.scss
+++ /dev/null
@@ -1,90 +0,0 @@
-$main-color: rgb(143, 149, 130);
-
-.page {
- ion-toolbar {
- --background: rgb(143, 149, 130) !important;
- --color: white;
- --border-style: none;
- margin: 0 !important;
- }
-}
-
-.top {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-items: center;
- align-content: center;
- background-color: rgb(143, 149, 130);
- color: white;
- padding-bottom: 1rem;
-}
-
-.figures {
- text-align: center;
- background-color: rgb(143, 149, 130);
- color: white;
-
- p,
- h6 {
- padding: 0;
- margin: 0;
- }
-}
-
-.profileHeader {
- ion-card-subtitle,
- ion-card-title {
- --color: white;
- }
-
- ion-card-title {
- font-size: 1.3rem;
- }
-
- ion-card-subtitle {
- --color: rgb(202, 211, 189);
- }
-}
-
-.avatar {
- width: 7rem;
- height: 7rem;
- border: 5px solid rgba(218, 223, 208, 0.4);
-}
-
-.avatarUpload {
- display: flex;
- flex-direction: row;
- justify-content: center;
-
- background-color: rgb(255, 255, 255);
- border: 3px solid rgba(218, 223, 208, 0.4);
- color: rgb(80, 80, 80);
- position: absolute;
- padding: 0.3rem;
- font-size: 1.1rem;
- border-radius: 500px;
- margin-top: -2.2rem;
- margin-left: 5rem;
-}
-
-.postActions {
- display: flex;
- flex-direction: row;
- align-content: center;
- align-items: center;
- justify-content: space-between;
- padding: 0.2rem;
- padding-left: 1.3rem;
- padding-right: 1.3rem;
- color: rgb(149, 149, 149);
- font-size: 0.9rem;
- border-bottom: 1px solid rgba(218, 223, 208, 1);
-
- background-color: rgba(218, 223, 208, 0.4);
-
- ion-icon {
- font-size: 1.2rem;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/pages/Home.tsx
deleted file mode 100644
index d565f0a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/pages/Home.tsx
+++ /dev/null
@@ -1,130 +0,0 @@
-import {
- IonAvatar,
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonList,
- IonPage,
- IonRow,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import styles from './Home.module.scss';
-import {
- arrowBackOutline,
- cameraOutline,
- chevronBackOutline,
- filterOutline,
- menuOutline,
-} from 'ionicons/icons';
-import { Figure } from '../components/Figure';
-import { Post } from '../components/Post';
-
-const Home = (): React.JSX.Element => {
- const posts = [
- {
- date: 'Mar 30',
- text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
- comments: 13,
- likes: 49,
- liked: true,
- },
- {
- date: 'Mar 28',
- text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
- comments: 1,
- likes: 9,
- },
- {
- date: 'Mar 25',
- text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
- comments: 119,
- likes: 483,
- },
- {
- date: 'Mar 23',
- text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.',
- comments: 27,
- likes: 78,
- },
- ];
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Alan Montgomery
- Mobile Team Lead
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {posts.map((post, index) => {
- return ;
- })}
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/style.scss b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoProfileExample/theme/variables.scss
deleted file mode 100644
index 1a2dbc3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoProfileExample/theme/variables.scss
+++ /dev/null
@@ -1,79 +0,0 @@
-.demo-profile-example {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- /** Ionic CSS Variables **/
- :root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/NOTES.md
deleted file mode 100644
index d94875f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0137
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/components/Person.tsx b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/components/Person.tsx
deleted file mode 100644
index 2edc34d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/components/Person.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import { IonAvatar, IonButton, IonItem, IonLabel } from '@ionic/react';
-import { toggleFollowing } from '../store/PeopleStore';
-
-export const Person = ({ person }): React.JSX.Element => {
- return (
-
-
-
-
-
- {person.name}
- {person.title}
-
-
- toggleFollowing(person.id)}
- >
- {person.following ? 'Following' : 'Follow'}
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/data/index.js b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/data/index.js
deleted file mode 100644
index 7e84c0f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/data/index.js
+++ /dev/null
@@ -1,44 +0,0 @@
-export const people = [
- {
- id: 1,
- name: 'Alan Montgomery',
- title: 'Mobile Team Lead',
- avatar: 'https://pbs.twimg.com/profile_images/1420489989163524096/GwHdYSky_400x400.jpg',
- following: false,
- },
- {
- id: 2,
- name: 'Max Lynch',
- title: 'CEO | Co Founder',
- avatar: 'https://pbs.twimg.com/profile_images/1318970727173885953/bln98FNj_400x400.jpg',
- following: false,
- },
- {
- id: 3,
- name: 'Mike Hartington',
- title: 'Senior Dev Rel',
- avatar: 'https://pbs.twimg.com/profile_images/1084993841898446849/DJ8XtR6L_400x400.jpg',
- following: false,
- },
- {
- id: 4,
- name: 'Matt Netkow',
- title: 'Head of Product Marketing',
- avatar: 'https://pbs.twimg.com/profile_images/1323383930150621187/GKc0nVzi_400x400.jpg',
- following: false,
- },
- {
- id: 5,
- name: 'Ben Sperry',
- title: 'CDO | Co Founder',
- avatar: 'https://pbs.twimg.com/profile_images/1407747959345795072/McJb-RvC_400x400.jpg',
- following: false,
- },
- {
- id: 6,
- name: 'Liam DeBeasi',
- title: 'Software Engineer',
- avatar: 'https://pbs.twimg.com/profile_images/1105953692669366273/ZNK4lRAJ_400x400.jpg',
- following: false,
- },
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/index.tsx
deleted file mode 100644
index f5313e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/index.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { list, people } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import './style.scss';
-import Tab1 from './pages/Tab1';
-import Tab2 from './pages/Tab2';
-
-function DemoPullstateTutorial() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
- List
-
-
-
- Following
-
-
-
- );
-}
-
-export default DemoPullstateTutorial;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/pages/Tab1.css b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/pages/Tab1.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/pages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/pages/Tab1.tsx
deleted file mode 100644
index 98513db..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/pages/Tab1.tsx
+++ /dev/null
@@ -1,63 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { PeopleStore } from '../store';
-import { Person } from '../components/Person';
-import './Tab1.css';
-import { useStoreState } from 'pullstate';
-import { getPeople } from '../store/Selectors';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Tab1 = (): React.JSX.Element => {
- const people = useStoreState(PeopleStore, getPeople);
-
- console.log(people);
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- List of People
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- List of People
-
-
- handleBackClick()}>
-
-
-
-
-
-
- {people.map((person, index) => {
- return ;
- })}
-
-
- );
-};
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/pages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/pages/Tab2.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/pages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/pages/Tab2.tsx
deleted file mode 100644
index 7a95a49..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/pages/Tab2.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { Person } from '../components/Person';
-import { PeopleStore } from '../store';
-import { getFollowing } from '../store/Selectors';
-import './Tab2.css';
-import React from 'react';
-
-const Tab2 = (): React.JSX.Element => {
- const people = useStoreState(PeopleStore, getFollowing);
-
- return (
-
-
-
- Following
-
-
-
-
-
- Following
-
-
-
- {people.map((person, index) => {
- return ;
- })}
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/store/PeopleStore.js b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/store/PeopleStore.js
deleted file mode 100644
index f430293..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/store/PeopleStore.js
+++ /dev/null
@@ -1,16 +0,0 @@
-import { Store } from 'pullstate';
-
-import { people } from '../data';
-
-const PeopleStore = new Store({
- people: people,
-});
-
-export const toggleFollowing = (personId) => {
- PeopleStore.update((s) => {
- const personIndex = s.people.findIndex((person) => person.id === personId);
- s.people[personIndex].following = !s.people[personIndex].following;
- });
-};
-
-export default PeopleStore;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/store/Selectors.js
deleted file mode 100644
index 04e3218..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/store/Selectors.js
+++ /dev/null
@@ -1,9 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// Gets
-export const getPeople = createSelector(getState, (state) => state.people);
-export const getFollowing = createSelector(getState, (state) =>
- state.people.filter((person) => person.following)
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/store/index.js
deleted file mode 100644
index 1e43c95..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/store/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as PeopleStore } from './PeopleStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/style.scss b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/theme/variables.scss
deleted file mode 100644
index 8606e9f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoPullstateTutorial/theme/variables.scss
+++ /dev/null
@@ -1,79 +0,0 @@
-.demo-pullstate-tutorial {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- /** Ionic CSS Variables **/
- :root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/AppPages/Tab1.jsx
deleted file mode 100644
index aaad468..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,144 +0,0 @@
-import {
- getPlatforms,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonModal,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useRef, useState } from 'react';
-import { SkeletonDashboard } from '../components/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../components/CurrentWeather';
-import { useStoreState } from 'pullstate';
-import { QRStore } from '../store';
-import { getCodes } from '../store/Selectors';
-import useSound from 'use-sound';
-import openSound from '../sounds/open.wav';
-import { QRCodeScannedModal } from '../components/QRCodeScannedModal';
-import { QRWebModal } from '../components/QRWebModal';
-import { NoQRCodes } from '../components/NoQRCodes';
-import { CustomFab } from '../components/CustomFab.jsx';
-
-function Tab1() {
- const pageRef = useRef(null);
- const codes = useStoreState(QRStore, getCodes);
- const [play] = useSound(openSound);
-
- const [QRData, setQRData] = useState(false);
-
- const handleScan = (data) => {
- if (data) {
- setQRData(data);
- play();
- handleSuccess(data);
- }
- };
-
- const handleError = (err) => {
- console.error(err);
- };
-
- const start = async () => {
- const platforms = getPlatforms();
- const isWeb =
- platforms.includes('desktop') || platforms.includes('mobileweb') || platforms.includes('pwa');
-
- if (!isWeb) {
- // const data = await BarcodeScanner.scan();
-
- // if (data) {
- // handleSuccess(data);
- // }
- const result = await CapacitorBarcodeScanner.scanBarcode({
- hint: CapacitorBarcodeScannerTypeHint.ALL,
- scanInstructions: 'Please scan a barcode',
- scanButton: true,
- scanText: 'Scan',
- cameraDirection: CapacitorBarcodeScannerCameraDirection.BACK,
- scanOrientation: CapacitorBarcodeScannerScanOrientation.ADAPTIVE,
- android: {
- scanningLibrary: CapacitorBarcodeScannerAndroidScanningLibrary.ZXING,
- },
- });
- handleSuccess(result.ScanResult);
- } else {
- presentWebModal({
- presentingElement: pageRef.current,
- });
- }
- };
-
- const handleSuccess = (data) => {
- setQRData(data);
- console.log(data);
- dismissWebModal();
-
- play();
- present({
- presentingElement: pageRef.current,
- });
- };
-
- const [present, dismiss] = useIonModal(QRCodeScannedModal, {
- dismiss: () => dismiss(),
- code: QRData,
- set: () => setQRData(),
- scan: () => start(),
- });
-
- const [presentWebModal, dismissWebModal] = useIonModal(QRWebModal, {
- dismiss: () => dismissWebModal(),
- set: () => setQRData(),
- scan: handleScan,
- error: handleError,
- });
-
- const router = useIonRouter();
- function handleBackButtonClick() {
- router.goBack();
- }
-
- return (
-
-
-
- QR Codes
-
- handleBackButtonClick()}
- >
-
-
-
-
-
-
-
- QR Codes
-
-
-
- {codes.length < 1 && }
- {codes.length > 0 && }
-
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/AppPages/Tab2.jsx
deleted file mode 100644
index 216544f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/NOTES.md
deleted file mode 100644
index e77ff3c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0138
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/CustomFab.jsx b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/CustomFab.jsx
deleted file mode 100644
index 2e19fe8..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/CustomFab.jsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { IonFab, IonFabButton, IonFabList, IonIcon } from '@ionic/react';
-import { addOutline, cameraOutline, qrCodeOutline } from 'ionicons/icons';
-
-export const CustomFab = ({ start }) => {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/NoQRCodes.jsx b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/NoQRCodes.jsx
deleted file mode 100644
index 08e6bd3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/NoQRCodes.jsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { IonCol, IonRow, IonText } from '@ionic/react';
-
-export const NoQRCodes = () => (
-
-
- It looks like you don't have any QR codes stored.
-
-
-
- Click the button in the bottom right to scan a code or
- generate a code.
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/QRCodeScannedModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/QRCodeScannedModal.jsx
deleted file mode 100644
index 21f2c58..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/QRCodeScannedModal.jsx
+++ /dev/null
@@ -1,106 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCardHeader,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonNote,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonToast,
-} from '@ionic/react';
-import QRCode from 'react-qr-code';
-import { addQRCode } from '../store/QRStore';
-
-import useSound from 'use-sound';
-import closeSound from '../sounds/close.wav';
-import { reloadOutline } from 'ionicons/icons';
-
-export const QRCodeScannedModal = ({ dismiss, code, set, scan }) => {
- const [play] = useSound(closeSound);
- const [showToast] = useIonToast();
-
- const handleDismiss = () => {
- dismiss();
- play();
- };
-
- const handleScanAgain = () => {
- handleDismiss();
-
- setTimeout(() => {
- scan();
- }, 10);
- };
-
- const handleAdd = async () => {
- addQRCode(code.text ? code.text : code, true);
- showToast({
- header: 'Success!',
- message: 'QR Code stored successfully.',
- duration: 3000,
- color: 'primary',
- });
-
- handleDismiss();
- };
-
- return (
-
-
-
- View QR Code
-
- Close
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- QR Code data
- This is what the code represents
-
-
- {code.text ? code.text : code}
-
-
-
-
-
-
-
-
-
- Scan again
-
-
-
-
- Store →
-
-
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/QRWebModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/QRWebModal.jsx
deleted file mode 100644
index 8d1775d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/QRWebModal.jsx
+++ /dev/null
@@ -1,45 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-// import QrReader from "react-qr-reader";
-
-export const QRWebModal = ({ dismiss, set, scan, error }) => {
- return (
-
-
-
- Scan QR Code
-
- Close
-
-
-
-
-
-
-
-
- {/*
-
- */}
-
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/components/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/index.tsx
deleted file mode 100644
index 9afe772..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/index.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-
-function DemoQrScanner() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
- Dashboard
-
-
-
- Search
-
-
-
- );
-}
-
-export default DemoQrScanner;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/sounds/close.wav b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/sounds/close.wav
deleted file mode 100644
index 7ca4e4e..0000000
Binary files a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/sounds/close.wav and /dev/null differ
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/sounds/open.wav b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/sounds/open.wav
deleted file mode 100644
index 78c8254..0000000
Binary files a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/sounds/open.wav and /dev/null differ
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/store/QRStore.js b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/store/QRStore.js
deleted file mode 100644
index 2878652..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/store/QRStore.js
+++ /dev/null
@@ -1,19 +0,0 @@
-import { Store } from 'pullstate';
-
-const QRStore = new Store({
- codes: [],
-});
-
-export default QRStore;
-
-export const addQRCode = (data, scanned = false) => {
- QRStore.update((s) => {
- s.codes = [...s.codes, { id: new Date(), data, scanned }];
- });
-};
-
-export const removeQRCode = (id) => {
- QRStore.update((s) => {
- s.codes = s.codes.filter((code) => code.id !== id);
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/store/Selectors.js
deleted file mode 100644
index d74c840..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/store/Selectors.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getCodes = createSelector(getState, (state) => state.codes);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/store/index.js
deleted file mode 100644
index 18573c9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/store/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as QRStore } from './QRStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/style.scss b/03_source/mobile.trunk.1/src/pages/DemoQrScanner/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQrScanner/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/AppPages/Home.jsx b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/AppPages/Home.jsx
deleted file mode 100644
index 3769f25..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/AppPages/Home.jsx
+++ /dev/null
@@ -1,74 +0,0 @@
-import {
- IonButtons,
- IonContent,
- IonGrid,
- IonHeader,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonList,
- IonMenuButton,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { useState } from 'react';
-import { QuoteItem } from '../components/QuoteItem';
-import { QuoteStore } from '../store';
-import { getQuotes } from '../store/Selectors';
-
-const Home = () => {
- const quotes = useStoreState(QuoteStore, getQuotes);
- const [amountLoaded, setAmountLoaded] = useState(20);
-
- const fetchMore = async (e) => {
- setAmountLoaded((amountLoaded) => amountLoaded + 20);
- e.target.complete();
- };
-
- return (
-
-
-
-
-
-
- Home
-
-
-
-
-
-
- Home
-
-
-
-
- {/* TODO: the source of the quote is already broken */}
- the source broken
-
-
-
- {quotes.map((quote, index) => {
- if (index <= amountLoaded && quote.author) {
- return ;
- } else return '';
- })}
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/AppPages/Quote.jsx b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/AppPages/Quote.jsx
deleted file mode 100644
index fdc54b4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/AppPages/Quote.jsx
+++ /dev/null
@@ -1,102 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonImg,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonToast,
-} from '@ionic/react';
-import { bookmarkOutline, checkmarkOutline, copyOutline } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { useEffect, useState } from 'react';
-import { useParams } from 'react-router';
-import { QuoteStore } from '../store';
-import { addSavedQuote, removeSavedQuote } from '../store/QuoteStore';
-import { getQuote, getSavedQuotes } from '../store/Selectors';
-
-import { Clipboard } from '@capacitor/clipboard';
-
-const Quote = () => {
- const { id } = useParams();
- const quote = useStoreState(QuoteStore, getQuote(id));
- const saved = useStoreState(QuoteStore, getSavedQuotes);
- const [bookmarked, setBookmarked] = useState(false);
-
- const [present] = useIonToast();
-
- useEffect(() => {
- setBookmarked(saved.includes(parseInt(id)));
- }, [saved, id]);
-
- const copyQuote = async () => {
- await Clipboard.write({
- string: quote.text,
- });
-
- present({
- header: 'Success',
- message: 'Quote copied to clipboard!',
- duration: 2500,
- color: 'primary',
- });
- };
-
- return (
-
-
-
-
-
-
- Quote
-
-
-
-
-
-
- Quote
-
-
-
-
-
-
- {quote.text}
- - {quote.author}
-
-
-
-
- (bookmarked ? removeSavedQuote(quote.id) : addSavedQuote(quote.id))}
- >
-
- {bookmarked ? 'Bookmarked' : 'Save as Bookmark'}
-
-
-
-
-
-
- Copy Quote
-
-
-
-
-
-
- );
-};
-
-export default Quote;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/AppPages/Saved.jsx b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/AppPages/Saved.jsx
deleted file mode 100644
index 9b6e340..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/AppPages/Saved.jsx
+++ /dev/null
@@ -1,83 +0,0 @@
-import {
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonList,
- IonMenuButton,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { useState } from 'react';
-import { QuoteItem } from '../components/QuoteItem';
-import { QuoteStore } from '../store';
-import { getQuotes, getSavedQuotes } from '../store/Selectors';
-
-const Saved = () => {
- const quotes = useStoreState(QuoteStore, getQuotes);
- const saved = useStoreState(QuoteStore, getSavedQuotes);
- const [amountLoaded, setAmountLoaded] = useState(20);
-
- const fetchMore = async (e) => {
- setAmountLoaded((amountLoaded) => amountLoaded + 20);
- e.target.complete();
- };
-
- return (
-
-
-
-
-
-
- Bookmarks
-
-
-
-
-
-
- Bookmarks
-
-
-
-
- {quotes.length > 0 && (
-
-
- {quotes.map((quote, index) => {
- if (index <= amountLoaded && saved.includes(parseInt(quote.id))) {
- return ;
- } else return '';
- })}
-
-
-
-
-
-
- )}
-
- {quotes.length < 1 && (
-
-
- You haven't saved any bookmarks yet.
-
-
- )}
-
-
-
- );
-};
-
-export default Saved;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/NOTES.md
deleted file mode 100644
index bc5c8ee..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0140
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/Menu.css b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/Menu.css
deleted file mode 100644
index 0ca47a2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/Menu.css
+++ /dev/null
@@ -1,113 +0,0 @@
-ion-menu ion-content {
- --background: var(--ion-item-background, var(--ion-background-color, #fff));
-}
-
-ion-menu.md ion-content {
- --padding-start: 8px;
- --padding-end: 8px;
- --padding-top: 20px;
- --padding-bottom: 20px;
-}
-
-ion-menu.md ion-list {
- padding: 20px 0;
-}
-
-ion-menu.md ion-note {
- margin-bottom: 30px;
-}
-
-ion-menu.md ion-list-header, ion-menu.md ion-note {
- padding-left: 10px;
-}
-
-ion-menu.md ion-list#inbox-list {
- border-bottom: 1px solid var(--ion-color-step-150, #d7d8da);
-}
-
-ion-menu.md ion-list#inbox-list ion-list-header {
- font-size: 22px;
- font-weight: 600;
- min-height: 20px;
-}
-
-ion-menu.md ion-list#labels-list ion-list-header {
- font-size: 16px;
- margin-bottom: 18px;
- color: #757575;
- min-height: 26px;
-}
-
-ion-menu.md ion-item {
- --padding-start: 10px;
- --padding-end: 10px;
- border-radius: 4px;
-}
-
-ion-menu.md ion-item.selected {
- --background: rgba(var(--ion-color-primary-rgb), 0.14);
-}
-
-ion-menu.md ion-item.selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.md ion-item ion-icon {
- color: #616e7e;
-}
-
-ion-menu.md ion-item ion-label {
- font-weight: 500;
-}
-
-ion-menu.ios ion-content {
- --padding-bottom: 20px;
-}
-
-ion-menu.ios ion-list {
- padding: 20px 0 0 0;
-}
-
-ion-menu.ios ion-note {
- line-height: 24px;
- margin-bottom: 20px;
-}
-
-ion-menu.ios ion-item {
- --padding-start: 16px;
- --padding-end: 16px;
- --min-height: 50px;
-}
-
-ion-menu.ios ion-item ion-icon {
- font-size: 24px;
- color: #73849a;
-}
-
-ion-menu.ios ion-item .selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.ios ion-list#labels-list ion-list-header {
- margin-bottom: 8px;
-}
-
-ion-menu.ios ion-list-header,
-ion-menu.ios ion-note {
- padding-left: 16px;
- padding-right: 16px;
-}
-
-ion-menu.ios ion-note {
- margin-bottom: 8px;
-}
-
-ion-note {
- display: inline-block;
- font-size: 16px;
- color: var(--ion-color-medium-shade);
-}
-
-ion-item.selected {
- --color: var(--ion-color-primary);
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/Menu.jsx b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/Menu.jsx
deleted file mode 100644
index a8bba47..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/Menu.jsx
+++ /dev/null
@@ -1,67 +0,0 @@
-import {
- IonContent,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonListHeader,
- IonMenu,
- IonMenuToggle,
- IonNote,
-} from '@ionic/react';
-
-import { useLocation } from 'react-router-dom';
-import { bookmarkOutline, bookmarkSharp, homeOutline, homeSharp } from 'ionicons/icons';
-import './Menu.css';
-import { useStoreState } from 'pullstate';
-import { QuoteStore } from '../store';
-import { getSavedQuotes } from '../store/Selectors';
-
-const Menu = () => {
- const location = useLocation();
- const saved = useStoreState(QuoteStore, getSavedQuotes);
-
- const appPages = [
- {
- title: 'Home',
- url: '/home',
- iosIcon: homeOutline,
- mdIcon: homeSharp,
- },
- {
- title: `Bookmarks (${saved.length})`,
- url: '/saved',
- iosIcon: bookmarkOutline,
- mdIcon: bookmarkSharp,
- },
- ];
-
- return (
-
-
-
- Ionic Quotes
- hey there!
- {appPages.map((appPage, index) => {
- return (
-
-
-
- {appPage.title}
-
-
- );
- })}
-
-
-
- );
-};
-
-export default Menu;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/QuoteItem.jsx b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/QuoteItem.jsx
deleted file mode 100644
index 2154d3d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/QuoteItem.jsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { IonCol, IonItem, IonLabel } from '@ionic/react';
-import styles from './QuoteItem.module.css';
-
-export const QuoteItem = ({ quote }) => {
- return (
-
-
-
- {quote.text}
- {quote.author}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/QuoteItem.module.css b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/QuoteItem.module.css
deleted file mode 100644
index 8baadf6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/components/QuoteItem.module.css
+++ /dev/null
@@ -1,21 +0,0 @@
-.quoteItem {
-
- --quote-item-background: rgb(49, 117, 226);
-
- border: 2px solid rgb(154, 204, 245);
- border-radius: 10px;
- --background: var(--quote-item-background);
- background: var(--quote-item-background);
- color: white;
- padding: 1rem;
-}
-
-.quoteText p {
-
- color: rgb(25, 51, 93);
-}
-
-.quoteText h1:hover {
-
- color: white;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/index.tsx
deleted file mode 100644
index 765c40a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/index.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { Route, Redirect } from 'react-router';
-//
-import Quote from './AppPages/Quote';
-import Saved from './AppPages/Saved';
-import Home from './AppPages/Home';
-//
-const DemoQuoteApp = () => {
- return (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- );
-};
-
-export default DemoQuoteApp;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/store/QuoteStore.js b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/store/QuoteStore.js
deleted file mode 100644
index 87d0d15..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/store/QuoteStore.js
+++ /dev/null
@@ -1,34 +0,0 @@
-import { Store } from 'pullstate';
-
-const QuoteStore = new Store({
- quotes: [],
- saved: [],
-});
-
-export default QuoteStore;
-
-export const addSavedQuote = (id) => {
- QuoteStore.update((s) => {
- s.saved = [...s.saved, id];
- });
-};
-
-export const removeSavedQuote = (id) => {
- QuoteStore.update((s) => {
- s.saved = s.saved.filter((savedId) => parseInt(savedId) !== parseInt(id));
- });
-};
-
-export const fetchQuotes = async () => {
- const response = await fetch('https://type.fit/api/quotes');
- const data = await response.json();
-
- await data.filter((quote, index) => {
- quote.id = Date.now() + index;
- quote.image = `https://source.unsplash.com/random/1200x400?sig=${quote.id}`;
- });
-
- QuoteStore.update((s) => {
- s.quotes = data;
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/store/Selectors.js
deleted file mode 100644
index ac9aeae..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/store/Selectors.js
+++ /dev/null
@@ -1,14 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getQuotes = createSelector(getState, (state) => state.quotes);
-export const getSavedQuotes = createSelector(getState, (state) => state.saved);
-
-// Specific getters
-export const getQuote = (id) =>
- createSelector(
- getState,
- (state) => state.quotes.filter((q) => parseInt(q.id) === parseInt(id))[0]
- );
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/store/index.js
deleted file mode 100644
index 71a69f1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/store/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as QuoteStore } from './QuoteStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/style.scss b/03_source/mobile.trunk.1/src/pages/DemoQuoteApp/style.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/NOTES.md
deleted file mode 100644
index 18c63ae..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0141
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 950c702..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/DemoReactAddToCart/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 455cec6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,122 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/AddToCartButton.module.css b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/AddToCartButton.module.css
deleted file mode 100644
index 3af5d30..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/AddToCartButton.module.css
+++ /dev/null
@@ -1,14 +0,0 @@
-.buttonContainer {
- display: flex;
- flex-direction: column;
- justify-content: center;
- align-content: center;
- align-items: center;
-}
-
-.button {
- --padding-top: 1.75rem;
- --padding-bottom: 1.75rem;
- --padding-start: 1.75rem;
- --padding-end: 1.75rem;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/AddToCartButton.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/AddToCartButton.tsx
deleted file mode 100644
index 82a1789..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/AddToCartButton.tsx
+++ /dev/null
@@ -1,60 +0,0 @@
-import { CreateAnimation, IonButton, IonIcon } from '@ionic/react';
-import React, { useRef, useState } from 'react';
-
-import styles from './AddToCartButton.module.css';
-import { cartOutline } from 'ionicons/icons';
-
-const AddToCartButton = ({
- icon = true,
- color = 'primary',
- customOnClick = null,
-}): React.JSX.Element => {
- const iconRef = useRef(null);
- const [hidden, setHidden] = useState(true);
-
- const floatStyle = {
- display: hidden ? 'none' : '',
- position: 'absolute',
- };
-
- const floatGrowAnimation = {
- property: 'transform',
- fromValue: 'translateY(0) scale(1)',
- toValue: 'translateY(-55px) scale(1.2)',
- };
-
- const colorAnimation = {
- property: 'color',
- fromValue: 'white',
- toValue: `var(--ion-color-${color}`,
- };
-
- const mainAnimation = {
- duration: 700,
- iterations: '1',
- fromTo: [floatGrowAnimation, colorAnimation],
- easing: 'cubic-bezier(0.25, 0.7, 0.25, 0.7)',
- };
-
- const handleClick = async () => {
- setHidden(false);
- await iconRef.current.animation.play();
- setHidden(true);
- customOnClick && customOnClick();
- };
-
- return (
-
-
- {!icon && 'Add to cart'}
- {icon && }
-
-
-
-
-
-
- );
-};
-
-export default AddToCartButton;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/Product.module.css b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/Product.module.css
deleted file mode 100644
index fa0f815..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/Product.module.css
+++ /dev/null
@@ -1,19 +0,0 @@
-.priceContainer {
-
- display: flex;
- flex-direction: row;
- align-content: center;
- justify-content: space-between;
- align-items: center;
-}
-
-.price {
-
- margin-top: 0.7rem;
- border: 1px solid var(--ion-color-primary);
- color: var(--ion-color-primary);
- width: fit-content;
- padding: 1rem;
- border-radius: 10px;
- font-weight: 600;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/Product.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/Product.tsx
deleted file mode 100644
index 272efcb..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/components/Product.tsx
+++ /dev/null
@@ -1,61 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardHeader,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonRow,
- IonText,
-} from '@ionic/react';
-import AddToCartButton from './AddToCartButton';
-
-import styles from './Product.module.css';
-
-const Product = ({ product }): React.JSX.Element => {
- const handleAdd = (product) => {
- console.log(`Product added: ${product.name}`);
- console.log({ product });
-
- // Do something
- // Update Main Cart
- // Global State Stuff
- // API Call
- // etc etc
- };
-
- return (
-
-
- {product.name}
- {product.description}
-
-
-
-
-
-
-
-
-
-
- Product Features
- {product.features.map((feature, index) => {
- return {feature}
;
- })}
-
-
-
-
-
- {product.price}
- handleAdd(product)} />
-
-
-
-
- );
-};
-
-export default Product;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/index.tsx
deleted file mode 100644
index c0009af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/index.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-import './theme/variables.scss';
-import Home from './pages/Home';
-
-function DemoReactAddToCart() {
- return (
-
-
- {/*
-
-
-
-
-
-
- */}
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoReactAddToCart;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/module.d.ts b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/module.d.ts
deleted file mode 100644
index d774364..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/module.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-declare module '*.module.css' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/pages/Home.css b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/pages/Home.css
deleted file mode 100644
index 2877bc5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/pages/Home.css
+++ /dev/null
@@ -1,19 +0,0 @@
-.price-container {
-
- display: flex;
- flex-direction: row;
- align-content: center;
- justify-content: space-between;
- align-items: center;
-}
-
-.price {
-
- margin-top: 0.7rem;
- border: 1px solid var(--ion-color-primary);
- color: var(--ion-color-primary);
- width: fit-content;
- padding: 1rem;
- border-radius: 10px;
- font-weight: 600;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/pages/Home.tsx
deleted file mode 100644
index 50ee6ee..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/pages/Home.tsx
+++ /dev/null
@@ -1,45 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import './Home.css';
-import Product from '../components/Product';
-import { products } from './products';
-import React from 'react';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Home = (): React.JSX.Element => {
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
- return (
-
-
-
- Add To Cart Animation
-
-
- handleBackClick()}>
-
-
-
-
-
-
- {products.map((product) => {
- return ;
- })}
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/pages/products.ts b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/pages/products.ts
deleted file mode 100644
index 8dbab04..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/pages/products.ts
+++ /dev/null
@@ -1,44 +0,0 @@
-export const products = [
- {
- id: 1,
- name: 'Macbook Pro',
- description: "13.3' (2020) - M1, 256 GB SSD, Space Grey",
- price: '£1,199',
- image: '/assets/DemoReactAddToCart/macbook.jpeg',
- features: [
- 'macOS 11.0 Big Sur',
- 'Apple M1 chip',
- 'RAM: 8 GB / Storage: 256 GB SSD',
- 'Retina display',
- 'Battery life: Up to 20 hours',
- ],
- },
- {
- id: 2,
- name: 'SONY A7',
- description: 'SONY a7 III Mirrorless Camera - Black',
- price: '£1,699',
- image: '/assets/DemoReactAddToCart/camera.jpeg',
- features: [
- '24.2 megapixels',
- 'Full-frame 35 mm / 35.6 x 23.8 mm CMOS sensor',
- 'Built-in WiFi / Bluetooth / NFC',
- "3' tiltable LCD touchscreen",
- '10 fps in continuous shooting mode',
- ],
- },
- {
- id: 3,
- name: 'HISENSE 55',
- description: "55' Smart 4K Ultra HD HDR LED TV",
- price: '£429',
- image: '/assets/DemoReactAddToCart/tv.jpeg',
- features: [
- 'Picture quality: 1600 PCI',
- 'HDR: HDR10 / Hybrid Log-Gamma (HLG)',
- 'Catch-up TV & 4K streaming',
- 'Freeview HD with Freeview Play',
- 'HDMI 2.0 x 3',
- ],
- },
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/style.scss
deleted file mode 100644
index e5ac297..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/DemoReactAddToCart/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/DemoReactAddToCart/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/DemoReactAddToCart/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/DemoReactAddToCart/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoReactAddToCart/theme/variables.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/NOTES.md
deleted file mode 100644
index c8b12fa..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0142
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/Button.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/Button.module.scss
deleted file mode 100644
index d4adbd4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/Button.module.scss
+++ /dev/null
@@ -1,20 +0,0 @@
-.demo-react-calculator {
- .button,
- .specialButton {
- margin: 0.2rem;
- padding: 1.5rem;
- margin: 0.2rem;
- border-radius: 15px;
- font-size: 1.5rem;
- }
-
- .button {
- color: rgb(255, 255, 255);
- background-color: rgb(58, 58, 58);
- }
-
- .specialButton {
- color: rgb(255, 255, 255);
- background-color: var(--blue-color);
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/Button.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/Button.tsx
deleted file mode 100644
index 398d37b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/Button.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { IonCol } from '@ionic/react';
-import styles from './Button.module.scss';
-
-const Button = (props): React.JSX.Element => {
- const { value, special, clickEvent } = props;
-
- return (
- clickEvent(e, value)}
- >
- {value === '/' ? <>÷> : value === '*' ? <>×> : value}
-
- );
-};
-
-export default Button;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/ButtonRow.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/ButtonRow.module.scss
deleted file mode 100644
index 216fb37..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/ButtonRow.module.scss
+++ /dev/null
@@ -1,4 +0,0 @@
-.demo-react-calculator {
- .buttonRow {
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/ButtonRow.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/ButtonRow.tsx
deleted file mode 100644
index 375c87f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/components/ButtonRow.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import { IonRow } from '@ionic/react';
-import styles from './ButtonRow.module.scss';
-import React from 'react';
-
-const ButtonRow = (props): React.JSX.Element => {
- return {props.children} ;
-};
-
-export default ButtonRow;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/index.tsx
deleted file mode 100644
index ee886a6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/index.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-import './theme/variables.scss';
-import React from 'react';
-import Home from './pages/Home';
-
-function DemoReactCalculator(): React.JSX.Element {
- return (
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoReactCalculator;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/module.d.ts b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/module.d.ts
deleted file mode 100644
index 77bc4ab..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/module.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-declare module '*.module.css' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
-declare module '*.module.scss' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/pages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/pages/Home.module.scss
deleted file mode 100644
index a9d7f48..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/pages/Home.module.scss
+++ /dev/null
@@ -1,40 +0,0 @@
-.calculatorContainer {
- padding-bottom: 2.5rem;
- background-color: white;
- padding-left: 1rem;
- padding-right: 1rem;
-}
-
-.sumContainer {
- display: flex;
- flex-direction: column;
- align-content: center;
- align-items: flex-end;
- padding-right: 2rem;
- margin-top: 2rem;
-
- background-color: rgba(99, 158, 226, 0.1);
- padding: 2rem;
- padding-top: 4rem;
- padding-bottom: 4rem;
-}
-
-.sumContainer h1,
-.sumContainer h4,
-.sumContainer p {
- margin: 0;
- padding: 0;
-}
-
-.sumContainer h1 {
- font-size: 4rem;
-}
-
-.sumContainer p {
- font-size: 2rem;
- color: rgb(163, 163, 163);
-}
-
-.sumContainer h4 {
- color: rgb(197, 197, 197);
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/pages/Home.tsx
deleted file mode 100644
index e6e8e02..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/pages/Home.tsx
+++ /dev/null
@@ -1,127 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonFooter,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import React, { useEffect, useState } from 'react';
-import Button from '../components/Button';
-import ButtonRow from '../components/ButtonRow';
-import styles from './Home.module.scss';
-
-import {
- checkmarkOutline,
- chevronBackOutline,
- chevronDownCircleOutline,
- closeOutline,
- heart,
- languageOutline,
- menuOutline,
-} from 'ionicons/icons';
-
-import { buttons } from '../utils/Buttons';
-
-const Home = (): React.JSX.Element => {
- const [showTitle, setShowTitle] = useState('_______');
- const [sum, setSum] = useState('0');
- const [sumHistory, setSumHistory] = useState('Ionic Calculator');
-
- const handleClick = (e, operator) => {
- const tempSumHistory = sumHistory.replace('Ionic Calculator', '');
-
- if (operator === '=') {
- calculate();
- } else if (operator === 'C') {
- reset();
- } else if (operator === 'Del') {
- backspace();
- } else {
- setSumHistory(tempSumHistory + operator);
-
- e.target.classList.add('animate__headShake');
-
- setTimeout(() => {
- e.target.classList.remove('animate__headShake');
- }, 500);
- }
- };
-
- useEffect(() => {
- calculate();
- }, [sumHistory]);
-
- const calculate = () => {
- try {
- // eslint-disable-next-line no-eval
- setSum(eval(sumHistory).length > 5 ? eval(sumHistory).toFixed(4) : eval(sumHistory));
- setShowTitle('Ionic Calculator');
- } catch (e) {}
- };
-
- const reset = () => {
- setSumHistory('Ionic Calculator');
- setSum('0');
- setShowTitle('_______');
- };
-
- const backspace = () => {
- const tempSum = sumHistory.substr(0, sumHistory.length - 1);
- setSumHistory(tempSum);
- };
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
- return (
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
- {showTitle &&
{showTitle} }
-
{sumHistory}
-
- {sum.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ',')}
-
-
-
-
-
-
- {buttons.map((buttonRow, index) => {
- return (
-
- {buttonRow.map((button) => {
- return (
-
- );
- })}
-
- );
- })}
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/theme/variables.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/utils/Buttons.ts b/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/utils/Buttons.ts
deleted file mode 100644
index 564d0e6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactCalculator/utils/Buttons.ts
+++ /dev/null
@@ -1,32 +0,0 @@
-export const buttons = [
- [
- { value: 'C', special: true },
- { value: '(', special: true },
- { value: ')', special: true },
- { value: '+', special: true },
- ],
- [
- { value: '7', special: false },
- { value: '8', special: false },
- { value: '9', special: false },
- { value: '-', special: true },
- ],
- [
- { value: '4', special: false },
- { value: '5', special: false },
- { value: '6', special: false },
- { value: '*', special: true },
- ],
- [
- { value: '1', special: false },
- { value: '2', special: false },
- { value: '3', special: false },
- { value: '/', special: true },
- ],
- [
- { value: 'Del', special: true },
- { value: '0', special: false },
- { value: '.', special: false },
- { value: '=', special: true },
- ],
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/NOTES.md
deleted file mode 100644
index de2d24a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0143
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/components/ExploreContainer.scss b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/components/ExploreContainer.scss
deleted file mode 100644
index 11d2f90..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/components/ExploreContainer.scss
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/components/ExploreContainer.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/components/ExploreContainer.tsx
deleted file mode 100644
index ba6ab8c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/components/ExploreContainer.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import './ExploreContainer.scss';
-
-interface ContainerProps {}
-
-const ExploreContainer: React.FC = () => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/index.tsx
deleted file mode 100644
index cb105e1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/index.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-import Home from './pages/Home';
-
-function DemoReactDrawingCanvas() {
- return (
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoReactDrawingCanvas;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/module.d.ts b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/module.d.ts
deleted file mode 100644
index 4af7be7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/module.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-declare module '*.module.css' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
-
-declare module '*.module.scss' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/pages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/pages/Home.module.scss
deleted file mode 100644
index cb14cb5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/pages/Home.module.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-.canvasOptions {
- position: absolute;
- z-index: 99999;
- width: 100%;
- background-color: white !important;
- border-bottom: 1px solid rgb(230, 230, 230);
-}
-
-.fixed {
- position: fixed;
- background-color: white;
- border-bottom: 1px solid rgb(204, 204, 204);
-}
-
-.picker {
- width: 100% !important;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/pages/Home.tsx
deleted file mode 100644
index 6f0a46f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/pages/Home.tsx
+++ /dev/null
@@ -1,114 +0,0 @@
-import {
- IonIcon,
- IonItem,
- IonLabel,
- IonInput,
- IonButton,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- Platform,
- IonButtons,
- useIonRouter,
-} from '@ionic/react';
-import { arrowUndoOutline, brushOutline, chevronBackOutline, closeOutline } from 'ionicons/icons';
-import React, { useState } from 'react';
-import styles from './Home.module.scss';
-
-import CanvasDraw from 'react-canvas-draw';
-import { SwatchesPicker } from 'react-color';
-
-const Home = (): React.JSX.Element => {
- var canvasRef = '';
- const [brushColor, setBrushColor] = useState('#000000');
- const [brushSize, setBrushSize] = useState(5);
- const [showColorPicker, setShowColorPicker] = useState(false);
-
- const handleColorChange = (colorValue) => {
- setBrushColor(colorValue.hex);
- };
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Ionic Drawing Canvas
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
-
- setShowColorPicker(!showColorPicker)}
- >
-
-
-
- {showColorPicker && (
-
- )}
-
-
- {!showColorPicker && (
- <>
-
-
- Size
- setBrushSize(parseInt(e.target.value))}
- />
-
-
-
-
- canvasRef.undo()}>
-
-
-
-
-
- canvasRef.clear()}>
-
-
-
- >
- )}
-
-
-
- (canvasRef = canvasDraw)}
- />
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoReactDrawingCanvas/theme/variables.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/NOTES.md
deleted file mode 100644
index 8093ba4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0144
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/index.tsx
deleted file mode 100644
index 88d41f2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/index.tsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import './style.scss';
-import Home from './pages/Home';
-
-function DemoReactHookFormExample() {
- return (
-
-
-
-
-
-
-
-
-
- {/*
-
-
-
- Dashboard
-
-
-
- Search
-
-
- */}
-
- );
-}
-
-export default DemoReactHookFormExample;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/module.d.ts b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/module.d.ts
deleted file mode 100644
index 4af7be7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/module.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-declare module '*.module.css' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
-
-declare module '*.module.scss' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/pages/Home.scss b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/pages/Home.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/pages/Home.tsx
deleted file mode 100644
index 340bb48..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/pages/Home.tsx
+++ /dev/null
@@ -1,126 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonContent,
- IonHeader,
- IonIcon,
- IonInput,
- IonItem,
- IonLabel,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import './Home.scss';
-import { useForm } from 'react-hook-form';
-
-import { alertCircleOutline, chevronBackOutline } from 'ionicons/icons';
-import React from 'react';
-
-const Home = (): React.JSX.Element => {
- const {
- register,
- handleSubmit,
- formState: { errors },
- } = useForm({
- mode: 'onTouched',
- reValidateMode: 'onChange',
- });
-
- const fields = [
- {
- label: 'Firstname',
- required: true,
- requiredOptions: {
- maxLength: 10,
- },
- props: {
- name: 'firstname',
- type: 'text',
- placeholder: 'Enter a username',
- },
- },
-
- {
- label: 'Age',
- required: true,
- requiredOptions: {
- min: 18,
- max: 99,
- },
- props: {
- name: 'age',
- type: 'number',
- inputmode: 'numeric',
- placeholder: 'Enter your age',
- },
- },
- ];
-
- console.log(errors);
-
- const onSubmit = (data) => {
- console.log(data);
- };
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- React Hook Form
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- React Hook Form
-
-
-
-
- An example using React Hook Form
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/style.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoReactHookFormExample/theme/variables.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/NOTES.md
deleted file mode 100644
index 90a8851..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0145
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/components/ExploreContainer.js b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/components/ExploreContainer.js
deleted file mode 100644
index 4effb35..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/components/ExploreContainer.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import './ExploreContainer.css';
-
-const ExploreContainer = () => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/index.tsx
deleted file mode 100644
index 3fabe7c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/index.tsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-import './theme/variables.scss';
-import Home from './pages/Home';
-import Movies from './pages/Movies';
-
-function DemoReactItemList() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- {/*
-
-
-
- Dashboard
-
-
-
- Search
-
-
- */}
-
- );
-}
-
-export default DemoReactItemList;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/module.d.ts b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/module.d.ts
deleted file mode 100644
index 4af7be7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/module.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-declare module '*.module.css' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
-
-declare module '*.module.scss' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/pages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/pages/Home.module.scss
deleted file mode 100644
index bbd295d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/pages/Home.module.scss
+++ /dev/null
@@ -1,127 +0,0 @@
-.page {
- ion-header {
- background-color: #5a55ca;
- }
-
- ion-toolbar {
- --border-style: none;
- --background: #5a55ca;
- --color: white;
- --min-height: 8rem;
-
- // --stripe: #645fd1;
- --stripe: #5a55ca;
- --bg: #645fd1;
- --background: transparent;
- background:
- linear-gradient(135deg, var(--bg) 25%, transparent 25%) -50px 0,
- linear-gradient(225deg, var(--bg) 25%, transparent 25%) -50px 0,
- linear-gradient(315deg, var(--bg) 25%, transparent 25%),
- linear-gradient(45deg, var(--bg) 25%, transparent 25%);
- background-size: 100px 100px;
- background-color: var(--stripe);
-
- ion-button {
- font-size: 1.2rem;
- font-weight: 800;
- }
- }
-
- ion-content {
- --background: #5a55ca;
- overflow: hidden;
- }
-
- ion-card-subtitle {
- padding-left: 1.2rem;
- margin-top: 1.9rem;
- padding-bottom: 0.3rem;
- --color: white;
- }
-
- .results {
- --color: #5a55ca;
- }
-
- ion-searchbar {
- --border-radius: 10px;
- --background: white;
- --color: black;
- min-height: 5rem;
- padding: 1rem;
- padding-top: 0;
- margin-top: -1rem;
- }
-
- ion-list {
- background-color: #e7edfb;
- }
-
- ion-footer {
- background-color: #e7edfb;
- padding: 1rem;
-
- ion-button {
- --background: #5a55ca;
- --background-focused: #6f6bbb;
- --background-activated: #6f6bbb;
- --padding-top: 1rem;
- --padding-bottom: 1rem;
- --padding-start: 0.75rem;
- --padding-end: 0.75rem;
- height: 3.5rem;
- font-weight: 700;
- }
- }
-}
-
-.mainContent {
- background-color: #e7edfb;
- height: 100%;
- width: 100%;
- overflow: scroll !important;
- border-top-left-radius: 30px;
- border-top-right-radius: 30px;
-}
-
-.employeeItem {
- --border-radius: 10px;
- --padding-start: 1rem;
- --padding-end: 1rem;
- --padding-top: 1rem;
- --padding-bottom: 1rem;
- padding: 1rem;
- padding-top: 0.5rem;
- padding-bottom: 0.5rem;
- min-height: 5rem;
-
- img {
- width: 3rem;
- border-radius: 10px;
- border: 2px solid #e7edfb;
- }
-
- ion-label {
- padding-left: 1.2rem;
-
- h2 {
- font-weight: 600;
- letter-spacing: -0.02rem;
- }
-
- p {
- letter-spacing: -0.03rem;
- }
- }
-
- ion-button {
- --background: #5a55ca;
- --background-focused: #6f6bbb;
- --background-activated: #6f6bbb;
- --padding-top: 1rem;
- --padding-bottom: 1rem;
- --padding-start: 0.75rem;
- --padding-end: 0.75rem;
- margin-top: -0.2rem;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/pages/Home.tsx
deleted file mode 100644
index f631a9a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/pages/Home.tsx
+++ /dev/null
@@ -1,152 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonContent,
- IonFooter,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonPage,
- IonSearchbar,
- IonToolbar,
-} from '@ionic/react';
-import { chevronBack, chevronForward, trashOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-import styles from './Home.module.scss';
-
-const Home = () => {
- const [employees, setEmployees] = useState([
- {
- id: 1,
- name: 'Alan Montgomery',
- title: 'Mobile Team Lead',
- avatar: 'https://pbs.twimg.com/profile_images/1383061489469292548/5dhsPd4j_400x400.jpg',
- },
- {
- id: 2,
- name: 'Max Lynch',
- title: 'CEO | Co Founder',
- avatar: 'https://pbs.twimg.com/profile_images/1318970727173885953/bln98FNj_400x400.jpg',
- },
- {
- id: 3,
- name: 'Mike Hartington',
- title: 'Senior Dev Rel',
- avatar: 'https://pbs.twimg.com/profile_images/1084993841898446849/DJ8XtR6L_400x400.jpg',
- },
- {
- id: 4,
- name: 'Matt Netkow',
- title: 'Head of Product Marketing',
- avatar: 'https://pbs.twimg.com/profile_images/1323383930150621187/GKc0nVzi_400x400.jpg',
- },
- {
- id: 5,
- name: 'Ben Sperry',
- title: 'CDO | Co Founder',
- avatar: 'https://pbs.twimg.com/profile_images/1328390491126308864/jHHgl5Dm_400x400.jpg',
- },
- {
- id: 6,
- name: 'Liam DeBeasi',
- title: 'Software Engineer',
- avatar: 'https://pbs.twimg.com/profile_images/1105953692669366273/ZNK4lRAJ_400x400.jpg',
- },
- ]);
-
- const [results, setResults] = useState(employees);
-
- const remove = (id) => {
- document.getElementById(`employeeItem_${id}`).classList.add('animate__slideOutRight');
-
- setTimeout(() => {
- const tempEmployees = [...employees];
- const newEmployees = tempEmployees.filter((e) => parseInt(e.id) !== parseInt(id));
- setResults(newEmployees);
- setEmployees(newEmployees);
- }, 700);
- };
-
- const search = (e) => {
- const searchTerm = e.currentTarget.value;
-
- if (searchTerm !== '') {
- const searchTermLower = searchTerm.toLowerCase();
-
- const newResults = employees.filter((e) => e.name.toLowerCase().includes(searchTermLower));
- setResults(newResults);
- } else {
- setResults(employees);
- }
- };
-
- return (
-
-
-
-
-
-
- Employee List
-
-
-
-
-
- Movies
-
-
-
-
-
-
-
-
-
- {results.length} {results.legnth === 1 ? 'employee' : 'employees'} found
-
-
search(e)}
- onKeyPress={(e) => search(e)}
- placeholder="Search..."
- icon={search}
- slot="end"
- />
-
-
- {results.map((employee, index) => {
- return (
-
-
-
-
- {employee.name}
- {employee.title}
-
-
- remove(employee.id)}>
-
-
-
- );
- })}
-
-
-
-
-
- Add new employee
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/pages/Movies.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/pages/Movies.tsx
deleted file mode 100644
index aef4054..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/pages/Movies.tsx
+++ /dev/null
@@ -1,172 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonContent,
- IonFooter,
- IonHeader,
- IonIcon,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonItem,
- IonLabel,
- IonList,
- IonPage,
- IonRow,
- IonSearchbar,
- IonToolbar,
-} from '@ionic/react';
-import { chevronBack, trashOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-import styles from './Home.module.scss';
-
-const Movies = () => {
- const [movies, setMovies] = useState([]);
- const [currentPage, setCurrentPage] = useState(1);
- const [searchTerm, setSearchTerm] = useState('');
- const [totalResults, setTotalResults] = useState(0);
-
- const search = (e) => {
- const searchTermVal = e.currentTarget.value;
-
- if (searchTermVal !== '') {
- const searchTermLower = searchTermVal.toLowerCase();
- searchData(searchTermLower);
- setSearchTerm(searchTermLower);
- } else {
- getData(true, 1);
- setSearchTerm('');
- setCurrentPage(1);
- }
- };
-
- const searchData = async (searchTermVal, page = 1) => {
- const imageBaseURL = 'https://image.tmdb.org/t/p/w200';
- const response = await fetch(
- `https://api.themoviedb.org/3/search/movie?api_key=24600637ab41d89f6dd63b4c52e8b14e&query=${searchTermVal}&page=${page}`
- );
- const data = await response.json();
-
- data.results.forEach((movie) => {
- var imageURL = '';
-
- if (movie.poster_path !== null) {
- imageURL = `${imageBaseURL}${movie.poster_path}`;
- } else {
- imageURL = 'https://critics.io/img/movies/poster-placeholder.png';
- }
-
- movie.image = imageURL;
- });
-
- console.log('in more');
- console.log(data.results);
-
- setTotalResults(data.total_results);
- page === 1 ? setMovies(data.results) : setMovies([...movies, ...data.results]);
- };
-
- const getData = async (initialFetch = true, page = 1) => {
- if (initialFetch) {
- console.log('initial fetch of movies');
- }
- const imageBaseURL = 'https://image.tmdb.org/t/p/w200';
- const response = await fetch(
- `https://api.themoviedb.org/3/movie/popular?api_key=24600637ab41d89f6dd63b4c52e8b14e&page=${page}`
- );
- const data = await response.json();
-
- data.results.forEach((movie) => {
- var imageURL = '';
-
- if (movie.poster_path !== null) {
- imageURL = `${imageBaseURL}${movie.poster_path}`;
- } else {
- imageURL = 'https://critics.io/img/movies/poster-placeholder.png';
- }
-
- movie.image = imageURL;
- });
-
- console.log(data);
-
- setTotalResults(data.total_results);
- initialFetch ? setMovies(data.results) : setMovies([...movies, ...data.results]);
- };
-
- useEffect(() => {
- getData();
- }, []);
-
- const fetchMore = async (e) => {
- console.log('in more');
- const newPage = currentPage + 1;
- await setCurrentPage(newPage);
-
- searchTerm === '' ? getData(false, newPage) : searchData(searchTerm, newPage);
- e.target.complete();
- };
-
- return (
-
-
-
-
-
-
- Movie List
-
-
-
-
-
- {totalResults} {totalResults === 1 ? 'movie' : 'movies'} found
-
- search(e)}
- onKeyPress={(e) => search(e)}
- placeholder="Search..."
- icon={search}
- slot="end"
- />
-
-
-
-
-
-
- {movies.map((movie, index) => {
- return (
-
-
-
-
- {movie.title}
- {movie.overview}
-
-
- );
- })}
-
-
-
-
-
-
-
-
- Add a Movie
-
-
- );
-};
-
-export default Movies;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/react-app-env.d.ts b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/react-app-env.d.ts
deleted file mode 100644
index 6431bc5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/react-app-env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactItemList/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoReactItemList/theme/variables.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/ExploreContainer.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/ExploreContainer.tsx
deleted file mode 100644
index 354df7b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/ExploreContainer.tsx
+++ /dev/null
@@ -1,16 +0,0 @@
-import './ExploreContainer.css';
-
-interface ContainerProps {
- name: string;
-}
-
-const ExploreContainer: React.FC = ({ name }) => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/Menu.css b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/Menu.css
deleted file mode 100644
index 0ca47a2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/Menu.css
+++ /dev/null
@@ -1,113 +0,0 @@
-ion-menu ion-content {
- --background: var(--ion-item-background, var(--ion-background-color, #fff));
-}
-
-ion-menu.md ion-content {
- --padding-start: 8px;
- --padding-end: 8px;
- --padding-top: 20px;
- --padding-bottom: 20px;
-}
-
-ion-menu.md ion-list {
- padding: 20px 0;
-}
-
-ion-menu.md ion-note {
- margin-bottom: 30px;
-}
-
-ion-menu.md ion-list-header, ion-menu.md ion-note {
- padding-left: 10px;
-}
-
-ion-menu.md ion-list#inbox-list {
- border-bottom: 1px solid var(--ion-color-step-150, #d7d8da);
-}
-
-ion-menu.md ion-list#inbox-list ion-list-header {
- font-size: 22px;
- font-weight: 600;
- min-height: 20px;
-}
-
-ion-menu.md ion-list#labels-list ion-list-header {
- font-size: 16px;
- margin-bottom: 18px;
- color: #757575;
- min-height: 26px;
-}
-
-ion-menu.md ion-item {
- --padding-start: 10px;
- --padding-end: 10px;
- border-radius: 4px;
-}
-
-ion-menu.md ion-item.selected {
- --background: rgba(var(--ion-color-primary-rgb), 0.14);
-}
-
-ion-menu.md ion-item.selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.md ion-item ion-icon {
- color: #616e7e;
-}
-
-ion-menu.md ion-item ion-label {
- font-weight: 500;
-}
-
-ion-menu.ios ion-content {
- --padding-bottom: 20px;
-}
-
-ion-menu.ios ion-list {
- padding: 20px 0 0 0;
-}
-
-ion-menu.ios ion-note {
- line-height: 24px;
- margin-bottom: 20px;
-}
-
-ion-menu.ios ion-item {
- --padding-start: 16px;
- --padding-end: 16px;
- --min-height: 50px;
-}
-
-ion-menu.ios ion-item ion-icon {
- font-size: 24px;
- color: #73849a;
-}
-
-ion-menu.ios ion-item .selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.ios ion-list#labels-list ion-list-header {
- margin-bottom: 8px;
-}
-
-ion-menu.ios ion-list-header,
-ion-menu.ios ion-note {
- padding-left: 16px;
- padding-right: 16px;
-}
-
-ion-menu.ios ion-note {
- margin-bottom: 8px;
-}
-
-ion-note {
- display: inline-block;
- font-size: 16px;
- color: var(--ion-color-medium-shade);
-}
-
-ion-item.selected {
- --color: var(--ion-color-primary);
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/Menu.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/Menu.tsx
deleted file mode 100644
index 7024a26..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/components/Menu.tsx
+++ /dev/null
@@ -1,100 +0,0 @@
-import {
- IonContent,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonListHeader,
- IonMenu,
- IonMenuToggle,
- IonNote,
-} from '@ionic/react';
-
-import { useLocation } from 'react-router-dom';
-import { archiveOutline, archiveSharp, bookmarkOutline, heartOutline, heartSharp, mailOutline, mailSharp, paperPlaneOutline, paperPlaneSharp, trashOutline, trashSharp, warningOutline, warningSharp } from 'ionicons/icons';
-import './Menu.css';
-
-interface AppPage {
- url: string;
- iosIcon: string;
- mdIcon: string;
- title: string;
-}
-
-const appPages: AppPage[] = [
- {
- title: 'Inbox',
- url: '/page/Inbox',
- iosIcon: mailOutline,
- mdIcon: mailSharp
- },
- {
- title: 'Outbox',
- url: '/page/Outbox',
- iosIcon: paperPlaneOutline,
- mdIcon: paperPlaneSharp
- },
- {
- title: 'Favorites',
- url: '/page/Favorites',
- iosIcon: heartOutline,
- mdIcon: heartSharp
- },
- {
- title: 'Archived',
- url: '/page/Archived',
- iosIcon: archiveOutline,
- mdIcon: archiveSharp
- },
- {
- title: 'Trash',
- url: '/page/Trash',
- iosIcon: trashOutline,
- mdIcon: trashSharp
- },
- {
- title: 'Spam',
- url: '/page/Spam',
- iosIcon: warningOutline,
- mdIcon: warningSharp
- }
-];
-
-const labels = ['Family', 'Friends', 'Notes', 'Work', 'Travel', 'Reminders'];
-
-const Menu: React.FC = () => {
- const location = useLocation();
-
- return (
-
-
-
- Inbox
- hi@ionicframework.com
- {appPages.map((appPage, index) => {
- return (
-
-
-
- {appPage.title}
-
-
- );
- })}
-
-
-
- Labels
- {labels.map((label, index) => (
-
-
- {label}
-
- ))}
-
-
-
- );
-};
-
-export default Menu;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/index.tsx
deleted file mode 100644
index f11c471..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-import Page from './pages/Page';
-import Page2 from './pages/Page2';
-
-function DemoReactLifecycles() {
- return (
-
-
- {/*
-
-
-
-
-
-
- */}
-
-
-
-
-
-
-
-
-
-
-
-
- {/*
-
-
-
- Dashboard
-
-
-
- Search
-
-
- */}
-
- );
-}
-
-export default DemoReactLifecycles;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/notes.md b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/notes.md
deleted file mode 100644
index e992a2d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/notes.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0146
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/pages/Page.css b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/pages/Page.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/pages/Page.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/pages/Page.tsx
deleted file mode 100644
index 00ae96f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/pages/Page.tsx
+++ /dev/null
@@ -1,63 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonMenuButton,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { useParams } from 'react-router';
-import ExploreContainer from '../components/ExploreContainer';
-import './Page.css';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Page: React.FC = () => {
- const { name } = useParams<{ name: string }>();
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
- return (
-
-
-
-
-
-
- {name}
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
- {name}
-
-
-
-
-
-
- Navigate to Page 2
-
-
-
-
-
- );
-};
-
-export default Page;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/pages/Page2.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/pages/Page2.tsx
deleted file mode 100644
index 721aca5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/pages/Page2.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-import { IonBackButton, IonButtons, IonContent, IonHeader, IonMenuButton, IonPage, IonTitle, IonToolbar, useIonViewDidEnter, useIonViewDidLeave, useIonViewWillEnter, useIonViewWillLeave } from '@ionic/react';
-import { useEffect } from 'react';
-import { useParams } from 'react-router';
-import ExploreContainer from '../components/ExploreContainer';
-import './Page.css';
-
-const Page2: React.FC = () => {
-
- const { name } = useParams<{ name: string; }>();
-
- useEffect(() => {
-
- console.log("In useEffect");
-
- return () => {
-
- console.log("In useEffect cleanup");
- }
- }, []);
-
- useIonViewWillEnter(() => {
-
- console.log("In useIonViewWillEnter");
- });
-
- useIonViewDidEnter(() => {
-
- console.log("In useIonViewDidEnter");
- });
-
- useIonViewWillLeave(() => {
-
- console.log("In useIonViewWillLeave");
- });
-
- useIonViewDidLeave(() => {
-
- console.log("In useIonViewDidLeave");
- });
-
- return (
-
-
-
-
-
-
- {name}
-
-
-
-
-
-
- {name}
-
-
-
-
-
- );
-};
-
-export default Page2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/style.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoReactLifecycles/theme/variables.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/NOTES.md
deleted file mode 100644
index 81cd9b6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0147
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/Action.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/Action.tsx
deleted file mode 100644
index 2ef32b7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/Action.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { IonCol, IonRouterLink, IonRow } from '@ionic/react';
-
-interface ActionProps {
- message: string;
- text: string;
- link: string;
-}
-
-export const Action = (props: ActionProps): React.JSX.Element => (
-
-
-
- {props.message}
-
- {' '}
- {props.text} →
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/CustomField.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/CustomField.module.scss
deleted file mode 100644
index ec37f17..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/CustomField.module.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-.field:not(:last-child) {
- margin-bottom: 1rem !important;
-}
-
-.field {
- ion-label {
- padding-left: 0.2rem;
- padding-right: 0.5rem;
- color: #d3a6c7;
- display: flex;
- justify-content: space-between;
- align-content: center;
- align-items: center;
-
- p {
- color: rgb(236, 149, 35);
- }
- }
-}
-.customInput {
- --background: #834e76;
- --padding-bottom: 1rem;
- --padding-top: 1rem;
- --padding-start: 1rem;
- --padding-end: 1rem;
- border-radius: 10px;
- margin-top: 0.25rem;
- transition: all 0.2s linear;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/CustomField.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/CustomField.tsx
deleted file mode 100644
index de5a628..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/CustomField.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-import { IonInput, IonLabel } from '@ionic/react';
-import styles from './CustomField.module.scss';
-
-interface FieldType {
- id: string;
- label: string;
- input: {
- props: any;
- state: any;
- };
-}
-
-interface ErrorType {
- id: string;
- message: string;
-}
-
-interface CustomFieldProps {
- field: FieldType;
- errors?: ErrorType[];
-}
-
-const CustomField = ({ field, errors }: CustomFieldProps): React.JSX.Element => {
- const error = errors && errors.filter((e) => e.id === field.id)[0];
- const errorMessage = error && errors.filter((e) => e.id === field.id)[0].message;
-
- return (
-
-
- {field.label}
- {error && {errorMessage}
}
-
-
-
- );
-};
-
-export default CustomField;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/Wave.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/Wave.tsx
deleted file mode 100644
index 6e7c821..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/components/Wave.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-export const Wave = (): React.JSX.Element => (
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/data/fields.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/data/fields.tsx
deleted file mode 100644
index a5a3399..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/data/fields.tsx
+++ /dev/null
@@ -1,71 +0,0 @@
-import { useFormInput } from './utils';
-
-export const useSignupFields = () => {
- return [
- {
- id: 'name',
- label: 'Name',
- required: true,
- input: {
- props: {
- type: 'text',
- placeholder: 'Joe Bloggs',
- },
- state: useFormInput(''),
- },
- },
- {
- id: 'email',
- label: 'Email',
- required: true,
- input: {
- props: {
- type: 'email',
- placeholder: 'joe@bloggs.com',
- },
- state: useFormInput(''),
- },
- },
- {
- id: 'password',
- label: 'Password',
- required: true,
- input: {
- props: {
- type: 'password',
- placeholder: '*********',
- },
- state: useFormInput(''),
- },
- },
- ];
-};
-
-export const useLoginFields = () => {
- return [
- {
- id: 'email',
- label: 'Email',
- required: true,
- input: {
- props: {
- type: 'email',
- placeholder: 'joe@bloggs.com',
- },
- state: useFormInput(''),
- },
- },
- {
- id: 'password',
- label: 'Password',
- required: true,
- input: {
- props: {
- type: 'password',
- placeholder: '*******',
- },
- state: useFormInput(''),
- },
- },
- ];
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/data/utils.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/data/utils.tsx
deleted file mode 100644
index 0388ed6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/data/utils.tsx
+++ /dev/null
@@ -1,38 +0,0 @@
-import { useState } from 'react';
-
-export const useFormInput = (initialValue = '') => {
- const [value, setValue] = useState(initialValue);
-
- const handleChange = async (e) => {
- const tempValue = await e.currentTarget.value;
- setValue(tempValue);
- };
-
- return {
- value,
- reset: (newValue) => setValue(newValue),
- onIonChange: handleChange,
- onKeyUp: handleChange,
- };
-};
-
-export const validateForm = (fields) => {
- let errors = [];
-
- fields.forEach((field) => {
- if (field.required) {
- const fieldValue = field.input.state.value;
-
- if (fieldValue === '') {
- const error = {
- id: field.id,
- message: `Please check your ${field.id}`,
- };
-
- errors.push(error);
- }
- }
- });
-
- return errors;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/index.tsx
deleted file mode 100644
index 3c4c4dc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/index.tsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-import './theme/variables.scss';
-
-import Home from './pages/Home';
-import Login from './pages/Login';
-import Signup from './pages/Signup';
-
-function DemoReactLogin() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/*
-
-
-
- Dashboard
-
-
-
- Search
-
-
- */}
-
- );
-}
-
-export default DemoReactLogin;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/module.d.ts b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/module.d.ts
deleted file mode 100644
index 4af7be7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/module.d.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-declare module '*.module.css' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
-
-declare module '*.module.scss' {
- const classes: { readonly [key: string]: string };
- export default classes;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Home.module.scss
deleted file mode 100644
index e600dab..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Home.module.scss
+++ /dev/null
@@ -1,38 +0,0 @@
-.homePage {
- ion-header {
- ion-img {
- border-bottom: 3px solid rgb(236, 149, 35);
- }
- }
-
- ion-footer {
- background-color: #7c3b6a;
- color: white;
- }
-}
-
-.getStarted {
- height: 100%;
- background-color: #ffffff;
- background-image:
- radial-gradient(#b8b8b8 1px, transparent 1px), radial-gradient(#b8b8b8 1px, #ffffff 1px);
- background-size: 40px 40px;
- background-position:
- 0 0,
- 20px 20px;
-
- ion-card-title {
- color: black !important;
- letter-spacing: -0.08rem;
- font-weight: 900 !important;
- }
-}
-
-.heading {
- margin-top: 7rem;
-}
-
-.getStartedButton {
- font-size: 1.2rem;
- margin-top: 1rem;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Home.tsx
deleted file mode 100644
index e1329e8..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Home.tsx
+++ /dev/null
@@ -1,59 +0,0 @@
-import {
- IonButton,
- IonCardTitle,
- IonCol,
- IonContent,
- IonFooter,
- IonGrid,
- IonHeader,
- IonImg,
- IonPage,
- IonRouterLink,
- IonRow,
- IonToolbar,
-} from '@ionic/react';
-import { Action } from '../components/Action';
-import styles from './Home.module.scss';
-
-const Home = (): React.JSX.Element => {
- return (
-
-
- {/* */}
-
- {/* */}
-
-
-
-
-
-
-
- Join millions of other people discovering their creative side
-
-
-
-
-
-
-
-
- Get started →
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Login.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Login.module.scss
deleted file mode 100644
index 344e511..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Login.module.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-.loginPage {
- ion-toolbar {
- --border-style: none;
- --border-color: transparent;
- --padding-top: 1rem;
- --padding-bottom: 1rem;
- --padding-start: 1rem;
- --padding-end: 1rem;
- }
-}
-
-.headingText {
- h5 {
- margin-top: 0.2rem;
- color: #d3a6c7;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Login.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Login.tsx
deleted file mode 100644
index bcde778..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Login.tsx
+++ /dev/null
@@ -1,112 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCardTitle,
- IonCol,
- IonContent,
- IonFooter,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRouterLink,
- IonRow,
- IonToolbar,
-} from '@ionic/react';
-import styles from './Login.module.scss';
-
-import { arrowBack, shapesOutline } from 'ionicons/icons';
-import CustomField from '../components/CustomField';
-import { useLoginFields } from '../data/fields';
-import { Action } from '../components/Action';
-import { Wave } from '../components/Wave';
-import { useEffect, useState } from 'react';
-import { validateForm } from '../data/utils';
-import { useParams } from 'react-router';
-
-interface FieldType {
- id: string;
- label: string;
- input: {
- props: any;
- state: any;
- };
-}
-
-interface ErrorType {
- id: string;
- message: string;
-}
-
-const Login = (): React.JSX.Element => {
- const params = useParams();
-
- const fields: FieldType[] = useLoginFields();
- const [errors, setErrors] = useState(false);
-
- const login = (): void => {
- const errors = validateForm(fields);
- setErrors(errors);
-
- if (!errors.length) {
- // Submit your form here
- }
- };
-
- useEffect(() => {
- return () => {
- fields.forEach((field) => field.input.state.reset(''));
- setErrors(false);
- };
- }, [params]);
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Log in
- Welcome back, hope you're doing well
-
-
-
-
-
- {fields.map((field) => {
- return ;
- })}
-
-
- Login
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Login;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Signup.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Signup.module.scss
deleted file mode 100644
index 0b1f4a7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Signup.module.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-.signupPage {
- ion-toolbar {
- --border-style: none;
- --border-color: transparent;
- --padding-top: 1rem;
- --padding-bottom: 1rem;
- --padding-start: 1rem;
- --padding-end: 1rem;
- }
-}
-
-.headingText {
- h5 {
- margin-top: 0.2rem;
- color: #d3a6c7;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Signup.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Signup.tsx
deleted file mode 100644
index f607d69..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/pages/Signup.tsx
+++ /dev/null
@@ -1,111 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCardTitle,
- IonCol,
- IonContent,
- IonFooter,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRouterLink,
- IonRow,
- IonToolbar,
-} from '@ionic/react';
-import styles from './Signup.module.scss';
-
-import { arrowBack, shapesOutline } from 'ionicons/icons';
-import CustomField from '../components/CustomField';
-import { useSignupFields } from '../data/fields';
-import { Action } from '../components/Action';
-import { Wave } from '../components/Wave';
-import { useEffect, useState } from 'react';
-import { validateForm } from '../data/utils';
-import { useParams } from 'react-router';
-
-interface FieldType {
- id: string;
- label: string;
- input: {
- props: any;
- state: any;
- };
-}
-
-interface ErrorType {
- id: string;
- message: string;
-}
-
-const Signup = (): React.JSX.Element => {
- const params = useParams();
- const fields: FieldType[] = useSignupFields();
- const [errors, setErrors] = useState(false);
-
- const createAccount = (): void => {
- const errors = validateForm(fields);
- setErrors(errors);
-
- if (!errors.length) {
- // Submit your form here
- }
- };
-
- useEffect(() => {
- return () => {
- fields.forEach((field) => field.input.state.reset(''));
- setErrors(false);
- };
- }, [params]);
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Sign up
- Lets get to know each other
-
-
-
-
-
- {fields.map((field) => {
- return ;
- })}
-
-
- Create account
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Signup;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/store/AccountStore.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/store/AccountStore.tsx
deleted file mode 100644
index c3e6b6e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/store/AccountStore.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { Store } from 'pullstate';
-
-const AccountStore = new Store({
- logged_in: false,
- coffee_ids: [],
-});
-
-export default AccountStore;
-
-// export const addToCart = (coffeeID) => {
-
-// CartStore.update(s => { s.coffee_ids = [ ...s.coffee_ids, `${ parseInt(coffeeID) }` ]; });
-// }
-
-// export const removeFromCart = coffeeIndex => {
-
-// CartStore.update(s => { s.coffee_ids.splice(coffeeIndex, 1) });
-// }
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/store/Selectors.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/store/Selectors.tsx
deleted file mode 100644
index 27e6103..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/store/Selectors.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-// export const getCoffees = createSelector(getState, state => state.coffees);
-// export const getOffers = createSelector(getState, state => state.offers);
-// export const getCoffeeSizes = createSelector(getState, state => state.sizes);
-// export const getCartCoffees = createSelector(getState, state => state.coffee_ids);
-// export const getFavouriteCoffees = createSelector(getState, state => state.coffee_ids);
-
-// // More specific getters
-// export const getCoffee = id => createSelector(getState, state => state.coffees.filter(c => parseInt(c.id) === parseInt(id))[0]);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/store/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/store/index.tsx
deleted file mode 100644
index 7f2c03b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/store/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { default as AccountStore } from './AccountStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/style.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactLogin/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoReactLogin/theme/variables.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/NOTES.md
deleted file mode 100644
index 0ca1541..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0148
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/components/CharacterItem.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/components/CharacterItem.module.scss
deleted file mode 100644
index 19c374f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/components/CharacterItem.module.scss
+++ /dev/null
@@ -1,43 +0,0 @@
-.characterContainer {
-
- position: relative;
- text-align: center;
- color: white;
-}
-
-ion-item {
- --padding-start: 0;
- --inner-padding-end: 0;
-}
-
-ion-label {
- margin-top: 12px;
- margin-bottom: 12px;
-}
-
-.characterNameContainer {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- position: absolute;
- z-index: 99999;
- background-color: rgba(0, 0, 0, 0.7);
- bottom: 0;
- width: 100%;
- padding-left: 1rem;
- padding-right: 1rem;
-}
-
-.characterNameContainer ion-icon {
-
- margin-top: 0.1rem;
-}
-
-.characterNameContainer ion-label {
-
- font-size: 1rem;
- font-weight: 500;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/components/CharacterItem.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/components/CharacterItem.tsx
deleted file mode 100644
index f2808d6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/components/CharacterItem.tsx
+++ /dev/null
@@ -1,56 +0,0 @@
-import { IonCol, IonIcon, IonImg, IonItem, IonLabel, IonSkeletonText } from '@ionic/react';
-import { chevronForwardOutline } from 'ionicons/icons';
-import { Character } from '../../types';
-import styles from './CharacterItem.module.scss';
-
-interface Props {
- details: Character;
- load?: boolean;
- grid?: boolean;
-}
-
-const CharacterItem = (props: Props): React.JSX.Element => {
- const { details, load = false, grid = true } = props;
- const loadAmount = 20;
-
- if (!load) {
- return (
-
-
-
-
- {details.name}
-
-
-
-
- );
- } else {
- return (
- <>
- {Array.from({ length: loadAmount }, (item, index) => {
- return (
-
-
-
-
-
- );
- })}
- >
- );
- }
-};
-
-export default CharacterItem;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/index.tsx
deleted file mode 100644
index fd4f0e2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/index.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import './theme/variables.scss';
-import Home from './pages/Home';
-import ViewCharacter from './pages/ViewCharacter';
-import Info from './pages/Info';
-
-function DemoReactMarvelApp() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoReactMarvelApp;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/Home.scss b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/Home.scss
deleted file mode 100644
index e7fd6ce..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/Home.scss
+++ /dev/null
@@ -1,30 +0,0 @@
-.demo-react-marvel-app {
- .character-container {
- position: relative;
- text-align: center;
- color: white;
- }
- .character-name-container {
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
- position: absolute;
- z-index: 99999;
- background-color: rgba(0, 0, 0, 0.7);
- bottom: 0;
- width: 100%;
- padding-left: 1rem;
- padding-right: 1rem;
- }
-
- .character-name-container ion-icon {
- margin-top: 0.5rem;
- }
-
- .character-name-container ion-label {
- font-size: 1rem;
- font-weight: 500;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/Home.tsx
deleted file mode 100644
index 795d440..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/Home.tsx
+++ /dev/null
@@ -1,208 +0,0 @@
-import { useEffect, useState } from 'react';
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonPage,
- IonRow,
- IonTitle,
- IonToast,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import './Home.scss';
-import {
- addOutline,
- chevronBackOutline,
- expandOutline,
- gridOutline,
- informationCircleOutline,
- searchOutline,
-} from 'ionicons/icons';
-import CharacterItem from '../components/CharacterItem';
-
-const Home = (): React.JSX.Element => {
- const [grid, setGrid] = useState(true);
- const [characters, setCharacters] = useState([]);
- const [amountLoaded, setAmountLoaded] = useState(20);
- const [showToast, setShowToast] = useState<{ show: boolean; message: string }>({
- show: false,
- message: '',
- });
-
- useEffect(() => {
- const buttInstall = document.getElementById('buttInstall');
- window.addEventListener('beforeinstallprompt', (event) => {
- console.log('👍', 'beforeinstallprompt', event);
-
- // Save the event so it can be triggered later.
- window.deferredPrompt = event;
- buttInstall.classList.toggle('hidden', false);
- });
-
- window.addEventListener('appinstalled', (event) => {
- console.log('👍', 'appinstalled', event);
- // Clear the deferredPrompt so it can be garbage collected
- window.deferredPrompt = null;
- });
- }, []);
-
- useEffect(() => {
- const getCharacters = async () => {
- const response = await fetch(
- 'https://gateway.marvel.com/v1/public/characters?ts=alan12345&apikey=e5103c9197bf5466f65433de29139bf9&hash=13b1d704e92de2a50ae29777722bdd75&limit=20&orderBy=-modified'
- );
- const data = await response.json();
-
- const results = data.data.results;
- setCharacters(results);
- };
-
- getCharacters();
- }, []);
-
- const fetchMore = async (e) => {
- // Fetch more characters
- // How?
- // Lets limit it by 20, and offset it by the amount loaded already
- // E.g. 20, 40, 60 just like pagination :)
- // Get the response into json
- const response = await fetch(
- `https://gateway.marvel.com/v1/public/characters?ts=alan12345&apikey=e5103c9197bf5466f65433de29139bf9&hash=13b1d704e92de2a50ae29777722bdd75&limit=20&offset=${amountLoaded}&orderBy=-modified`
- );
- const data = await response.json();
- const results = data.data.results;
-
- // Set the characters by adding the new results to the current
- // Increment the amount loaded by 20 for the next iteration
- // Complete the scroll action
- setCharacters((prevResults) => [...prevResults, ...results]);
- setAmountLoaded((prevAmount) => prevAmount + 20);
- e.target.complete();
- };
-
- const addToHomeScreen = async () => {
- const buttInstall = document.getElementById('buttInstall');
-
- console.log('👍', 'buttInstall-clicked');
- const promptEvent = window.deferredPrompt;
-
- if (!promptEvent) {
- // The deferred prompt isn't available.
- return;
- }
-
- // Show the install prompt.
- promptEvent.prompt();
-
- // Log the result
- const result = await promptEvent.userChoice;
- console.log('👍', 'userChoice', result);
-
- // Reset the deferred prompt variable, since
- // prompt() can only be called once.
- window.deferredPrompt = null;
-
- // Hide the install button.
- buttInstall.classList.toggle('hidden', true);
- };
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
- handleBackClick()}>
-
-
-
-
- Marvel Characters
-
-
-
-
-
-
-
-
- setShowToast({
- show: true,
- message: 'We could easily add a search button here to search characters.',
- })
- }
- >
-
-
-
- addToHomeScreen()}
- >
-
- Install App
-
-
- setGrid((grid) => !grid)}>
-
-
-
-
-
-
-
-
- Marvel Characters
-
-
-
-
- {characters.length > 0 ? (
- characters.map((character, index) => {
- if (!character.thumbnail.path.includes('image_not_available')) {
- return ;
- } else {
- return null;
- }
- })
- ) : (
-
- )}
-
-
-
-
-
-
-
- setShowToast({ show: false, message: '' })}
- message={showToast.message}
- duration={3500}
- color="danger"
- />
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/Info.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/Info.tsx
deleted file mode 100644
index 201913b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/Info.tsx
+++ /dev/null
@@ -1,111 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonImg,
- IonItem,
- IonLabel,
- IonPage,
- IonRow,
- IonSkeletonText,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { arrowRedoOutline, heartOutline } from 'ionicons/icons';
-import styles from './ViewCharacter.module.scss';
-
-interface Profile {
- name: string;
- bio: string;
- avatar: string;
- codeLink: string;
- links: Array<{
- name: string;
- url: string;
- }>;
-}
-
-const Info = (): React.JSX.Element => {
- const profile = {
- name: 'Alan Montgomery',
- bio: 'My name is Alan. I’m a Mobile Team Lead and Senior Developer and have built numerous production, real world mobile apps for local government authorities. I have a real passion and love for sharing my knowledge and expertise with developers wanting to learn and get better at using certain technologies.',
- avatar: '/assets/alan.jpg',
- codeLink: 'https://github.com/alanmontgomery/ionic-react-marvel-app',
- links: [
- {
- name: 'Twitter',
- url: 'https://twitter.com/93alan',
- },
- ],
- };
- return (
-
-
-
-
-
-
-
- {navigator.platform.match(/iPhone|iPod|iPad/) && {profile.name} }
-
-
-
-
- {profile ? (
- <>
-
-
-
- {profile.name}
-
-
-
-
-
-
- {profile.bio}
-
-
-
-
-
-
-
- Lets connect on Twitter
-
-
-
-
-
-
-
-
-
-
- Source code for this app
-
-
-
-
-
-
- >
- ) : (
-
- )}
-
-
- );
-};
-
-export default Info;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/ViewCharacter.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/ViewCharacter.module.scss
deleted file mode 100644
index cf5db86..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/ViewCharacter.module.scss
+++ /dev/null
@@ -1,52 +0,0 @@
-.characterContainer {
- position: relative;
- text-align: center;
- color: white;
-}
-
-ion-item {
- --padding-start: 0;
- --inner-padding-end: 0;
-}
-
-ion-label {
- margin-top: 12px;
- margin-bottom: 12px;
-}
-
-.characterNameContainer {
- display: flex;
- flex-direction: row;
- justify-content: center;
- position: absolute;
- z-index: 99999;
- background-color: rgba(0, 0, 0, 0.7);
- bottom: 0;
- width: 100%;
-}
-
-.characterNameContainer ion-label {
- font-size: 1rem !important;
- font-weight: 500;
-}
-
-.characterStats {
- text-align: center;
- margin-top: 1.5rem;
- margin-bottom: 1.5rem;
-}
-
-.characterStat {
- background-color: var(--ion-color-primary);
- padding: 1rem;
-}
-
-.characterStat ion-card-title {
- font-size: 1rem;
- --color: white;
-}
-
-.characterStat ion-card-subtitle {
- font-size: 1rem;
- --color: white;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/ViewCharacter.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/ViewCharacter.tsx
deleted file mode 100644
index 3fb8156..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/pages/ViewCharacter.tsx
+++ /dev/null
@@ -1,298 +0,0 @@
-import { useState } from 'react';
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonImg,
- IonItem,
- IonLabel,
- IonPage,
- IonRow,
- IonSkeletonText,
- IonTitle,
- IonToast,
- IonToolbar,
- useIonViewWillEnter,
-} from '@ionic/react';
-import { arrowRedoOutline, heartOutline } from 'ionicons/icons';
-import { useParams } from 'react-router';
-
-import styles from './ViewCharacter.module.scss';
-
-interface Comic {
- id: string;
- name: string;
- image: string;
-}
-
-interface Character {
- id: string;
- name: string;
- description: string;
- thumbnail: {
- path: string;
- extension: string;
- };
- comics: {
- available: number;
- items: Array<{
- name: string;
- resourceURI: string;
- }>;
- };
- stories: {
- available: number;
- };
- series: {
- available: number;
- };
- urls: Array<{
- type: string;
- url: string;
- }>;
-}
-
-const ViewCharacter = (): React.JSX.Element => {
- const [character, setCharacter] = useState();
- const [characterComics, setCharacterComics] = useState([]);
- const [showToast, setShowToast] = useState<{ show: boolean; message: string }>({
- show: false,
- message: '',
- });
- const params = useParams();
-
- const getComic = async (comicID: string): Promise => {
- var comicImageURL = false;
- const response = await fetch(
- `https://gateway.marvel.com/v1/public/comics/${comicID}?ts=alan12345&apikey=e5103c9197bf5466f65433de29139bf9&hash=13b1d704e92de2a50ae29777722bdd75`
- );
- const data = await response.json();
-
- if (data) {
- if (data.data) {
- if (data.data.results.length > 0) {
- comicImageURL =
- data.data.results[0].thumbnail.path +
- '/portrait_incredible.' +
- data.data.results[0].thumbnail.extension;
- }
- }
- }
-
- return comicImageURL;
- };
-
- const parseComics = async (result: Character): Promise => {
- const comics = result.comics.items;
-
- await comics.forEach(async (comic) => {
- const name = comic.name;
- const link = comic.resourceURI;
-
- const linkParts = link.split('/');
- const id = linkParts[linkParts.length - 1];
- const image = await getComic(id);
-
- setCharacterComics((current) => [
- ...current,
- {
- id,
- name,
- image,
- },
- ]);
- });
- };
-
- useIonViewWillEnter(async () => {
- const response = await fetch(
- `https://gateway.marvel.com/v1/public/characters/${params.id}?ts=alan12345&apikey=e5103c9197bf5466f65433de29139bf9&hash=13b1d704e92de2a50ae29777722bdd75`
- );
- const data = await response.json();
-
- if (data) {
- if (data.data) {
- if (data.data.results) {
- const result = data.data.results[0];
- setCharacter(result);
- parseComics(result);
- }
- }
- }
- });
-
- return (
-
-
-
-
-
-
-
- {navigator.platform.match(/iPhone|iPod|iPad/) && (
- {character && character.name}
- )}
-
-
-
- setShowToast({
- show: true,
- message:
- "We could easily add a 'like' button here to add a character to favourites.",
- })
- }
- >
-
-
-
-
-
-
-
- {character ? (
- <>
- {navigator.platform.match(/iPhone|iPod|iPad/) ? (
-
-
-
-
-
- {character.name}
-
-
-
-
- ) : (
-
-
-
- {character.name}
-
-
- )}
-
-
- {character.description && (
-
-
- {character.description}
-
-
- )}
-
-
-
-
- {character.comics.available}
- comics
-
-
-
-
-
- {character.stories.available}
- stories
-
-
-
-
-
- {character.series.available}
- series
-
-
-
-
- {character.urls && (
- <>
- {character.urls[1] && (
-
-
-
-
- View full profile on Marvel
-
-
-
-
-
- )}
-
- {character.urls[2] && (
-
-
-
-
- View all comics on Marvel
-
-
-
-
-
- )}
- >
- )}
-
- {characterComics && (
- <>
-
-
- Showing 20 comics...
-
-
-
- {characterComics.map((comic, index) => {
- if (comic.image && comic.name) {
- return (
-
-
-
-
- {comic.name}
-
-
-
- );
- }
- })}
-
- >
- )}
-
- >
- ) : (
-
- )}
-
-
- setShowToast({ show: false, message: '' })}
- message={showToast.message}
- duration={3500}
- color="danger"
- />
-
- );
-};
-
-export default ViewCharacter;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoReactMarvelApp/theme/variables.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/NOTES.md
deleted file mode 100644
index 2960e85..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0149
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomInfiniteHits.js b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomInfiniteHits.js
deleted file mode 100644
index 4fdfa65..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomInfiniteHits.js
+++ /dev/null
@@ -1,48 +0,0 @@
-import {
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonList,
- IonRow,
-} from '@ionic/react';
-import { connectInfiniteHits } from 'react-instantsearch-core';
-import CustomSearchHit from './CustomSearchHit';
-
-const CustomInfiniteHits = ({ hits, hasMore, refineNext }) => {
- const getMore = (e, refine) => {
- refine();
- e.target.complete();
- };
-
- return (
-
-
-
-
- {hits.map((hit) => (
-
- ))}
-
- {hits.length < 1 && (
-
- No results found
- Try something else
-
- )}
-
-
- getMore(e, refineNext)}>
-
-
-
-
-
- );
-};
-
-export default connectInfiniteHits(CustomInfiniteHits);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomInfiniteHits.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomInfiniteHits.tsx
deleted file mode 100644
index e0e5f2c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomInfiniteHits.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import {
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonList,
- IonRow,
-} from '@ionic/react';
-import { connectInfiniteHits } from 'react-instantsearch-core';
-import CustomSearchHit from './CustomSearchHit';
-
-const CustomInfiniteHits = ({ hits, hasMore, refineNext }): React.JSX.Element => {
- const getMore = (e, refine) => {
- refine();
- e.target.complete();
- };
-
- return (
-
-
-
-
- {hits.map((hit) => (
-
- ))}
-
- {hits.length < 1 && (
-
- No results found
- Try something else
-
- )}
-
-
- getMore(e, refineNext)}>
-
-
-
-
-
- );
-};
-
-export default connectInfiniteHits(CustomInfiniteHits);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchHit.js b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchHit.js
deleted file mode 100644
index 4c76d2f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchHit.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import { IonCol, IonRouterLink } from '@ionic/react';
-import { Link } from 'react-router-dom';
-import styles from '../pages/Movies.module.scss';
-
-const CustomSearchHit = ({ hit }) => {
- // Any movies without an image, lets just exclude them
- // So the UI looks nicer.
- // When I scraped the data, I put a placeholder URL image in
- // But after more thought, it looks cleaner without including these.
- if (
- hit &&
- hit.image !== 'https://critics.io/img/movies/poster-placeholder.png' &&
- hit.backdrop_path !== null
- ) {
- return (
-
-
-
-
-
{hit.title}
-
-
-
- );
- } else {
- return null;
- }
-};
-
-export default CustomSearchHit;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchHit.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchHit.tsx
deleted file mode 100644
index 0952adc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchHit.tsx
+++ /dev/null
@@ -1,33 +0,0 @@
-import { IonCol, IonRouterLink } from '@ionic/react';
-import { Link } from 'react-router-dom';
-import styles from '../pages/Movies.module.scss';
-
-const CustomSearchHit = ({ hit }): React.JSX.Element | null => {
- // Any movies without an image, lets just exclude them
- // So the UI looks nicer.
- // When I scraped the data, I put a placeholder URL image in
- // But after more thought, it looks cleaner without including these.
- if (
- hit &&
- hit.image !== 'https://critics.io/img/movies/poster-placeholder.png' &&
- hit.backdrop_path !== null
- ) {
- return (
-
-
-
-
-
{hit.title}
-
-
-
- );
- } else {
- return null;
- }
-};
-
-export default CustomSearchHit;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchbox.js b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchbox.js
deleted file mode 100644
index 8846d89..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchbox.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { IonSearchbar } from '@ionic/react';
-import { searchCircleOutline } from 'ionicons/icons';
-import { connectSearchBox } from 'react-instantsearch-core';
-
-const CustomSearchBox = ({ currentRefinement, refine }) => (
- refine('')}
- value={currentRefinement}
- onIonChange={(event) => refine(event.currentTarget.value)}
- onKeyUp={(event) => refine(event.currentTarget.value)}
- placeholder="Try 'Avengers'"
- icon={searchCircleOutline}
- slot="end"
- />
-);
-
-export default connectSearchBox(CustomSearchBox);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchbox.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchbox.tsx
deleted file mode 100644
index de7c33f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/components/CustomSearchbox.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { IonSearchbar } from '@ionic/react';
-import { searchCircleOutline } from 'ionicons/icons';
-import { connectSearchBox } from 'react-instantsearch-core';
-
-const CustomSearchBox = ({ currentRefinement, refine }): React.JSX.Element => (
- refine('')}
- value={currentRefinement}
- onIonChange={(event) => refine(event.currentTarget.value)}
- onKeyUp={(event) => refine(event.currentTarget.value)}
- placeholder="Try 'Avengers'"
- icon={searchCircleOutline}
- slot="end"
- />
-);
-
-export default connectSearchBox(CustomSearchBox);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/index.tsx
deleted file mode 100644
index b4addd4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/index.tsx
+++ /dev/null
@@ -1,45 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-
-// import './style.scss';
-import './theme/variables.scss';
-
-function DemoReactMovieAppWithAlgolia() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
- Dashboard
-
-
-
- Search
-
-
-
- );
-}
-
-export default DemoReactMovieAppWithAlgolia;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movie.js b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movie.js
deleted file mode 100644
index 359c2a1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movie.js
+++ /dev/null
@@ -1,109 +0,0 @@
-import {
- IonBackButton,
- IonBadge,
- IonButton,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
-} from '@ionic/react';
-import styles from './Movie.module.scss';
-
-import { useEffect, useState } from 'react';
-import { arrowBack } from 'ionicons/icons';
-import { useLocation, useParams } from 'react-router';
-
-const Movie = () => {
- const params = useParams();
- const location = useLocation();
- const [movie, setMovie] = useState(false);
-
- useEffect(() => {
- if (location.state.movie) {
- const backdropPath = `https://image.tmdb.org/t/p/w500${location.state.movie.backdrop_path}`;
- location.state.movie.cover_image = backdropPath;
-
- setMovie(location.state.movie);
- }
- }, [params]);
-
- const parseDate = (dateToParse) => {
- const dateParts = dateToParse.split('-');
- return `${dateParts[2]}-${dateParts[1]}-${dateParts[0]}`;
- };
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Title
- {movie.title}
-
-
-
- Popularity
-
- {movie.popularity ? movie.popularity : 'Unknown'}
-
-
-
-
- Release Date
-
- {movie.release_date ? parseDate(movie.release_date) : 'Unknown'}
-
-
-
-
-
-
- Search for Youtube Trailer
-
- Search now
-
-
-
-
-
-
-
-
- Overview
-
- {movie.overview
- ? movie.overview
- : `No overview to show unfortunately. Try doing a google search for '${movie.title}.`}
-
-
-
-
-
-
- );
-};
-
-export default Movie;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movie.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movie.module.scss
deleted file mode 100644
index 25b6858..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movie.module.scss
+++ /dev/null
@@ -1,54 +0,0 @@
-.page {
-
- ion-header {
-
- background-color: #373b5e;
- }
-
- ion-toolbar {
-
- --border-style: none;
- --background: #373b5e;
- --color: white;
- --min-height: 8rem;
- --stripe: #373b5e;
- --bg: #3e4368;
- --background: transparent;
- background: linear-gradient(135deg, var(--bg) 25%, transparent 25%) -50px 0,
- linear-gradient(225deg, var(--bg) 25%, transparent 25%) -50px 0,
- linear-gradient(315deg, var(--bg) 25%, transparent 25%),
- linear-gradient(45deg, var(--bg) 25%, transparent 25%);
- background-size: 100px 100px;
- background-color: var(--stripe);
-
- ion-title {
-
- --color: white;
- font-size: 1rem;
- }
- }
-}
-
-.movieOverview {
-
- background-color:#373b5e;
- padding: 2rem;
- color: white;
-
- ion-card-subtitle {
-
- --color: white;
- }
-}
-
-.backButton {
-
- padding: 0;
- margin: 0;
- padding-bottom: 0.4rem;
-}
-
-.infoBadge {
-
- background-color:rgba(44, 53, 105, 0.8);
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movie.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movie.tsx
deleted file mode 100644
index b0fa56e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movie.tsx
+++ /dev/null
@@ -1,109 +0,0 @@
-import {
- IonBackButton,
- IonBadge,
- IonButton,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
-} from '@ionic/react';
-import styles from './Movie.module.scss';
-
-import { useEffect, useState } from 'react';
-import { arrowBack } from 'ionicons/icons';
-import { useLocation, useParams } from 'react-router';
-
-const Movie = (): React.JSX.Element => {
- const params = useParams();
- const location = useLocation();
- const [movie, setMovie] = useState(false);
-
- useEffect(() => {
- if (location.state.movie) {
- const backdropPath = `https://image.tmdb.org/t/p/w500${location.state.movie.backdrop_path}`;
- location.state.movie.cover_image = backdropPath;
-
- setMovie(location.state.movie);
- }
- }, [params]);
-
- const parseDate = (dateToParse) => {
- const dateParts = dateToParse.split('-');
- return `${dateParts[2]}-${dateParts[1]}-${dateParts[0]}`;
- };
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Title
- {movie.title}
-
-
-
- Popularity
-
- {movie.popularity ? movie.popularity : 'Unknown'}
-
-
-
-
- Release Date
-
- {movie.release_date ? parseDate(movie.release_date) : 'Unknown'}
-
-
-
-
-
-
- Search for Youtube Trailer
-
- Search now
-
-
-
-
-
-
-
-
- Overview
-
- {movie.overview
- ? movie.overview
- : `No overview to show unfortunately. Try doing a google search for '${movie.title}.`}
-
-
-
-
-
-
- );
-};
-
-export default Movie;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movies.js b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movies.js
deleted file mode 100644
index 14383ee..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movies.js
+++ /dev/null
@@ -1,104 +0,0 @@
-import {
- IonButton,
- IonCardSubtitle,
- IonCardTitle,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonToolbar,
-} from '@ionic/react';
-import styles from './Movies.module.scss';
-
-// Algolia imports
-import algoliasearch from 'algoliasearch/lite';
-import { InstantSearch } from 'react-instantsearch-dom';
-
-// Custom Algolia UI
-import CustomSearchbox from '../components/CustomSearchbox';
-import CustomInfiniteHits from '../components/CustomInfiniteHits';
-import { useEffect } from 'react';
-import { addOutline } from 'ionicons/icons';
-
-const searchClient = algoliasearch('QZKBD6VPU7', 'db21b77f5f3bf4d4cbde385b7f33c60d');
-
-const Movies = (props) => {
- // PWA functionality for a custom add to homescreen
- // This allows us to display a custom button based on service worker
- useEffect(() => {
- const buttInstall = document.getElementById('buttInstall');
- window.addEventListener('beforeinstallprompt', (event) => {
- console.log('👍', 'beforeinstallprompt', event);
-
- // Save the event so it can be triggered later.
- window.deferredPrompt = event;
- buttInstall.classList.toggle('hidden', false);
- });
-
- window.addEventListener('appinstalled', (event) => {
- console.log('👍', 'appinstalled', event);
- // Clear the deferredPrompt so it can be garbage collected
- window.deferredPrompt = null;
- });
- }, []);
-
- const addToHomeScreen = async () => {
- const buttInstall = document.getElementById('buttInstall');
-
- console.log('👍', 'buttInstall-clicked');
- const promptEvent = window.deferredPrompt;
-
- if (!promptEvent) {
- // The deferred prompt isn't available.
- return;
- }
-
- // Show the install prompt.
- promptEvent.prompt();
-
- // Log the result
- const result = await promptEvent.userChoice;
- console.log('👍', 'userChoice', result);
-
- // Reset the deferred prompt variable, since
- // prompt() can only be called once.
- window.deferredPrompt = null;
-
- // Hide the install button.
- buttInstall.classList.toggle('hidden', true);
- };
-
- return (
-
-
-
-
-
- Movie List
- with algolia search
-
-
- addToHomeScreen()}
- >
-
- Install App
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Movies;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movies.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movies.module.scss
deleted file mode 100644
index cd48b5a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movies.module.scss
+++ /dev/null
@@ -1,133 +0,0 @@
-.page {
-
- ion-header {
-
- background-color: #373b5e;
- }
-
- ion-toolbar {
-
- --border-style: none;
- --background: #373b5e;
- --color: white;
- --min-height: 8rem;
- --stripe: #373b5e;
- --bg: #3e4368;
- --background: transparent;
- background: linear-gradient(135deg, var(--bg) 25%, transparent 25%) -50px 0,
- linear-gradient(225deg, var(--bg) 25%, transparent 25%) -50px 0,
- linear-gradient(315deg, var(--bg) 25%, transparent 25%),
- linear-gradient(45deg, var(--bg) 25%, transparent 25%);
- background-size: 100px 100px;
- background-color: var(--stripe);
-
- ion-button {
-
- font-size: 1.2rem;
- font-weight: 800;
- }
-
- .searchContainer {
-
- display: flex;
- flex-direction: column;
- color: white;
- align-content: center;
- align-items: center;
-
- ion-card-title,
- ion-card-subtitle {
-
- padding: 0;
- margin: 0;
- }
-
- ion-card-title {
-
- font-size: 1.5rem;
- color: white;
- }
-
- ion-card-subtitle {
-
- color: rgb(189, 189, 189);
- }
- }
- }
-
- ion-searchbar {
-
- --border-radius: 10px;
- --background: white;
- --color: black;
- padding: 0.5rem !important;
- margin: 0 !important;
- --background: #2a2d44;
- --color: white;
- --icon-color: white;
- --clear-button-color: white;
- }
-
- ion-searchbar {
-
- input{
-
- font-size: 1rem !important;
- }
- }
-
- ion-list {
-
- background-color: #e7edfb;
- }
-}
-
-.movie {
-
- .movieInfo {
-
- text-align: center;
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: flex-end;
-
- img {
-
- height: 75vmin;
- }
-
- h2 {
-
- position: absolute;
- z-index: 10;
- background-color: red;
- width: 95%;
- background-color: rgba(44, 53, 105, 0.8);
- color: white;
- font-size: 4vmin;
- padding: 1rem;
- min-height: 4.5rem;
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-content: center;
- align-items: center;
- max-height: 4.5rem;
- margin-bottom: 0;
- text-overflow: ellipsis;
- }
- }
-}
-
-ion-button {
-
- --background: #5a55ca;
- --background-focused: #6f6bbb;
- --background-activated: #6f6bbb;
- --padding-top: 1rem;
- --padding-bottom: 1rem;
- --padding-start: 0.75rem;
- --padding-end: 0.75rem;
- margin-top: -0.2rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movies.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movies.tsx
deleted file mode 100644
index 6e3463d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/pages/Movies.tsx
+++ /dev/null
@@ -1,104 +0,0 @@
-import {
- IonButton,
- IonCardSubtitle,
- IonCardTitle,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonToolbar,
-} from '@ionic/react';
-import styles from './Movies.module.scss';
-
-// Algolia imports
-import algoliasearch from 'algoliasearch/lite';
-import { InstantSearch } from 'react-instantsearch-dom';
-
-// Custom Algolia UI
-import CustomSearchbox from '../components/CustomSearchbox';
-import CustomInfiniteHits from '../components/CustomInfiniteHits';
-import { useEffect } from 'react';
-import { addOutline } from 'ionicons/icons';
-
-const searchClient = algoliasearch('QZKBD6VPU7', 'db21b77f5f3bf4d4cbde385b7f33c60d');
-
-const Movies = (props: any): React.JSX.Element => {
- // PWA functionality for a custom add to homescreen
- // This allows us to display a custom button based on service worker
- useEffect(() => {
- const buttInstall = document.getElementById('buttInstall');
- window.addEventListener('beforeinstallprompt', (event) => {
- console.log('👍', 'beforeinstallprompt', event);
-
- // Save the event so it can be triggered later.
- window.deferredPrompt = event;
- buttInstall.classList.toggle('hidden', false);
- });
-
- window.addEventListener('appinstalled', (event) => {
- console.log('👍', 'appinstalled', event);
- // Clear the deferredPrompt so it can be garbage collected
- window.deferredPrompt = null;
- });
- }, []);
-
- const addToHomeScreen = async () => {
- const buttInstall = document.getElementById('buttInstall');
-
- console.log('👍', 'buttInstall-clicked');
- const promptEvent = window.deferredPrompt;
-
- if (!promptEvent) {
- // The deferred prompt isn't available.
- return;
- }
-
- // Show the install prompt.
- promptEvent.prompt();
-
- // Log the result
- const result = await promptEvent.userChoice;
- console.log('👍', 'userChoice', result);
-
- // Reset the deferred prompt variable, since
- // prompt() can only be called once.
- window.deferredPrompt = null;
-
- // Hide the install button.
- buttInstall.classList.toggle('hidden', true);
- };
-
- return (
-
-
-
-
-
- Movie List
- with algolia search
-
-
- addToHomeScreen()}
- >
-
- Install App
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Movies;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/style.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoReactMovieAppWithAlgolia/theme/variables.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/NOTES.md
deleted file mode 100644
index a283687..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0150
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/components/ExploreContainer.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/components/ExploreContainer.tsx
deleted file mode 100644
index 7f14436..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/components/ExploreContainer.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import './ExploreContainer.css';
-
-const ExploreContainer = (): React.JSX.Element => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/index.tsx
deleted file mode 100644
index 8891e53..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/index.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import './theme/variables.scss';
-import Home from './pages/Home';
-import Add from './pages/Add';
-
-function DemoReactNotes() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoReactNotes;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Add.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Add.module.scss
deleted file mode 100644
index 490a0ea..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Add.module.scss
+++ /dev/null
@@ -1,29 +0,0 @@
-.title {
-
- margin-top: 0.35rem;
-}
-
-.customInput {
-
- border-radius: 22px !important;
- --padding-bottom: 1rem;
- --padding-top: 1rem;
-
- box-shadow: 0 0.7px 0.9px rgba(0, 0, 0, 0.101),
- 0 0.9px 2.5px rgba(0, 0, 0, 0.145),
- 0 2.5px 6px rgba(0, 0, 0, 0.189),
- 0 8px 20px rgba(0, 0, 0, 0.29);
-}
-
-.customInput {
-
- margin-bottom: 1rem !important;
-}
-
-.saveButton {
-
- --border-radius: 12px !important;
-
- --padding-top: 1.75rem !important;
- --padding-bottom: 1.75rem !important;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Add.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Add.tsx
deleted file mode 100644
index 4d58927..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Add.tsx
+++ /dev/null
@@ -1,115 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonPage,
- IonRow,
- IonSelect,
- IonSelectOption,
- IonTextarea,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import styles from './Add.module.scss';
-
-import { checkmarkOutline } from 'ionicons/icons';
-import { getCategories, getNotes } from '../store/Selectors';
-import { CategoryStore, NoteStore } from '../store';
-import { addNote } from '../store/NoteStore';
-import { useState } from 'react';
-
-const Add = (): React.JSX.Element => {
- const categories = CategoryStore.useState(getCategories);
- const notes = NoteStore.useState(getNotes);
- const [noteCategory, setNoteCategory] = useState(false);
- const [noteContent, setNoteContent] = useState('');
- const router = useIonRouter();
-
- const add = () => {
- const note = {
- id: notes.length + 1,
- category_id: noteCategory,
- note: noteContent,
- complete: false,
- };
-
- addNote(note);
- router.goBack();
- };
-
- return (
-
-
-
-
-
-
-
- Add note
-
-
-
-
-
-
- Add a note
-
-
-
-
-
-
- Category
- setNoteCategory(e.target.value)}
- >
- {categories.map((category) => {
- return (
-
- {category.name}
-
- );
- })}
-
-
-
-
-
-
-
-
- Note
- setNoteContent(e.target.value)}
- placeholder="Enter note text here..."
- />
-
-
-
-
-
-
-
-
- Save note
-
-
-
-
-
-
- );
-};
-
-export default Add;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Home.module.scss
deleted file mode 100644
index ec7c818..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Home.module.scss
+++ /dev/null
@@ -1,130 +0,0 @@
-.heading {
-
- color: var(--lighter-blue-color);
- font-size: 1rem;
-}
-
-.mainTitle {
-
- font-size: 2rem;
- font-weight: 700;
-}
-
-.slideHeader {
-
- margin: 0 !important;
- padding: 0;
- padding: 1.5rem !important;
- padding-top: 0 !important;
-}
-
-.slideCount {
-
- margin: 0 !important;
- padding: 0 !important;
- padding-left: 1.5rem !important;
- padding-top: 1rem !important;
-}
-
-.slideCount h6 {
-
- color: var(--light-blue-color);
-}
-
-.slideHeader h4 {
-
- color: white;
- margin: 0 !important;
- padding: 0 !important;
- text-align: left;
- font-size: 1.75rem;
-}
-
-.categorySlider {
-
- margin-top: -1.6rem;
-
- ion-slide {
-
- width: 60%;
- margin-right: 30px;
- }
-
- ion-col {
-
- padding-left: 0;
-
- ion-card {
-
- width: 100%;
- border-radius: 22px;
- // box-shadow: 0px 4px 12px 2px rgba(0, 0, 0, 0.16);
-
- box-shadow: 0 0.7px 0.9px rgba(0, 0, 0, 0.101),
- 0 1.9px 2.5px rgba(0, 0, 0, 0.145),
- 0 4.5px 6px rgba(0, 0, 0, 0.189),
- 0 15px 20px rgba(0, 0, 0, 0.29);
-
- ion-card-header {
-
- text-align: left !important;
- }
-
- ion-card-content {
-
- padding: 0;
- padding: 0.5rem;
- }
- }
- }
-
- .lastUsed {
-
- display: flex;
- flex-direction: row;
- align-content: flex-start;
- align-items: center;
- justify-content: center;
- font-size: 0.9rem;
- color: white;
- }
-
- .categoryColor {
-
- border-bottom: 3px solid var(--pink-color);
- margin-left: 1rem;
- margin-right: 1rem;
- margin-bottom: 0.5rem;
- margin-top: -1rem;
- }
-}
-
-.recentNotes {
-
- padding-left: 0.5rem;
- padding-right: 0.5rem;
- max-height: 18.8rem;
- overflow: scroll;
-
- ion-item {
-
- --padding-start: 2rem;
- --padding-end: 2rem;
- --border-style: none;
- --border-radius: 22px;
- --min-height: 4rem;
-
- h4 {
-
- padding-left: 1rem;
- margin-top: 0.6rem;
- font-size: 1.2rem;
- font-weight: 400;
- }
- }
-}
-
-.bottomContainer {
-
- margin-top: -1rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Home.tsx
deleted file mode 100644
index 337108b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/pages/Home.tsx
+++ /dev/null
@@ -1,166 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCardHeader,
- IonCardSubtitle,
- IonCheckbox,
- IonCol,
- IonContent,
- IonFab,
- IonFabButton,
- IonGrid,
- IonHeader,
- IonIcon,
- IonItem,
- IonPage,
- IonRow,
- // IonSlide,
- // IonSlides,
- IonToolbar,
-} from '@ionic/react';
-import styles from './Home.module.scss';
-
-import { addOutline, menuOutline, notificationsOutline, searchOutline } from 'ionicons/icons';
-import { getCategories, getNotes } from '../store/Selectors';
-import { CategoryStore, NoteStore } from '../store';
-import { markNote } from '../store/NoteStore';
-
-const Home = (): React.JSX.Element => {
- return <>TODO: need update IonSlide>;
-
- const categories = CategoryStore.useState(getCategories);
- const notes = NoteStore.useState(getNotes);
-
- const getNoteStyle = (categoryID, isComplete = false) => {
- const categoryColor = categories.filter((category) => category.id === categoryID)[0].color;
-
- return {
- '--background': categoryColor,
- '--background-checked': categoryColor,
- '--border-style': 'none',
- opacity: isComplete ? '0.6' : '1',
- };
- };
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Hello, Alan!
-
-
-
-
-
- Categories
-
-
-
-
-
- {categories.map((category, index) => {
- const noteCount = notes.filter((n) => n.category_id === category.id).length;
-
- return (
-
-
-
-
-
-
- {noteCount} {noteCount === 1 ? 'note' : 'notes'}{' '}
-
-
-
-
{category.name}
-
-
-
-
-
-
-
-
-
- );
- })}
-
-
-
-
-
- Recent Notes
-
-
-
-
- {notes.map((note, index) => {
- return (
-
-
-
- markNote(note.id)}
- />
-
- {note.note}
-
-
-
-
- );
- })}
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/CategoryStore.ts b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/CategoryStore.ts
deleted file mode 100644
index 148b5b7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/CategoryStore.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-import { Store } from 'pullstate';
-
-interface Category {
- id: number;
- name: string;
- count: string;
- color: string;
-}
-
-const CategoryStore = new Store({
- categories: [
- {
- id: 1,
- name: 'Business',
- count: '34',
- color: '#60b660',
- },
- {
- id: 2,
- name: 'Personal',
- count: '12',
- color: '#1D68DF',
- },
- {
- id: 3,
- name: 'Leisure',
- count: '23',
- color: '#EB06FF',
- },
- ] as Category[],
-});
-
-export default CategoryStore;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/NoteStore.ts b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/NoteStore.ts
deleted file mode 100644
index b60c9ef..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/NoteStore.ts
+++ /dev/null
@@ -1,58 +0,0 @@
-import { Store } from 'pullstate';
-
-interface Note {
- id: number;
- category_id: number;
- note: string;
- complete: boolean;
-}
-
-const NoteStore = new Store({
- notes: [
- {
- id: 1,
- category_id: 1,
- note: 'Daily meeting with team',
- complete: false,
- },
- {
- id: 2,
- category_id: 2,
- note: 'Pay monthly rent',
- complete: true,
- },
- {
- id: 3,
- category_id: 3,
- note: 'Workout in the gym',
- complete: false,
- },
- {
- id: 4,
- category_id: 1,
- note: 'Make progress on project',
- complete: false,
- },
- ] as Note[],
-});
-
-export const markNote = (noteID: number) => {
- const noteIndex = NoteStore.currentState.notes.findIndex((n) => n.id === noteID);
- NoteStore.update((s) => {
- s.notes[noteIndex].complete = !s.notes[noteIndex].complete;
- });
-
- document.getElementById(`noteRow_${noteID}`).classList.add('animate__pulse');
-
- setTimeout(() => {
- document.getElementById(`noteRow_${noteID}`).classList.remove('animate__pulse');
- }, 500);
-};
-
-export const addNote = (note: Note) => {
- NoteStore.update((s) => {
- s.notes = [note, ...s.notes];
- });
-};
-
-export default NoteStore;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/Selectors.ts b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/Selectors.ts
deleted file mode 100644
index e997fd6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/Selectors.ts
+++ /dev/null
@@ -1,16 +0,0 @@
-import { createSelector } from 'reselect';
-import { Category, Note } from './NoteStore';
-
-interface State {
- categories: Category[];
- notes: Note[];
-}
-
-const getState = (state: State) => state;
-
-// General getters
-export const getCategories = createSelector(getState, (state) => state.categories);
-export const getNotes = createSelector(getState, (state) => state.notes);
-
-// More specific getters
-// export const getCoffee = (id: number) => createSelector(getState, state => state.coffees.filter(c => parseInt(c.id) === parseInt(id))[0]);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/index.js
deleted file mode 100644
index 4075a63..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/store/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as CategoryStore } from './CategoryStore';
-export { default as NoteStore } from './NoteStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactNotes/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoReactNotes/theme/variables.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/NOTES.md
deleted file mode 100644
index cc63a0f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0151
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/components/OnboardingSlide.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/components/OnboardingSlide.tsx
deleted file mode 100644
index b411ba7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/components/OnboardingSlide.tsx
+++ /dev/null
@@ -1,59 +0,0 @@
-import { IonSlide, IonButton, IonGrid, IonRow, IonCol } from '@ionic/react';
-import '../pages/Home.css';
-
-interface OnboardingSlideProps {
- image: string;
- mainSlide?: boolean;
- finalSlide?: boolean;
- title: string;
- text: string;
- lastSlide?: boolean;
- sliderRef: React.RefObject;
-}
-
-const OnboardingSlide = ({
- image,
- mainSlide = false,
- finalSlide = false,
- title,
- text,
- lastSlide,
- sliderRef,
-}: OnboardingSlideProps): React.JSX.Element => {
- return (
-
-
-
-
-
- {title}
- {text}
-
- {mainSlide && (
- sliderRef.current.slideNext()}
- >
- Get started →
-
- )}
-
- {finalSlide && (
- <>
-
- Register
-
-
- Login
-
- >
- )}
-
-
-
-
- );
-};
-
-export default OnboardingSlide;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/index.tsx
deleted file mode 100644
index e881af9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/index.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-
-import './style.scss';
-
-function DemoReactOnboardingUi() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
- Dashboard
-
-
-
- Search
-
-
-
- );
-}
-
-export default DemoReactOnboardingUi;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/pages/Home.css b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/pages/Home.css
deleted file mode 100644
index 3b02677..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/pages/Home.css
+++ /dev/null
@@ -1,52 +0,0 @@
-ion-slides {
-
- height: 100%;
-}
-
-.slide-grid {
-
- height: 100%;
-}
-
-.slide-main-image {
-
- height: 5rem !important;
-}
-
-.slide-buttons {
-
- position: absolute;
- bottom: 2rem;
- z-index: 10;
-
- display: flex;
- flex-direction: row;
- justify-content: center;
- width: 100%;
- align-items: center;
- align-content: center;
-}
-
-.slide-content-container {
-
- margin-top: -4rem;
-}
-
-.slide-content {
-
- margin: 0 auto;
- /* margin-top: 5rem; */
- color: var(--ion-color-primary);
- /* background-color: var(--ion-color-primary); */
- /* color: white; */
- border: 2px solid rgb(228, 228, 228);
- border-radius: 15px;
- padding: 3rem;
- /* padding-left: 3rem; */
- /* padding-right: 3rem; */
-}
-
-.slide-content p {
-
- color: rgb(161, 161, 161);
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/pages/Home.tsx
deleted file mode 100644
index 238981f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/pages/Home.tsx
+++ /dev/null
@@ -1,89 +0,0 @@
-import { IonButton, IonContent, IonIcon, IonPage, IonRow, IonSlides } from '@ionic/react';
-import { arrowBack, arrowForward } from 'ionicons/icons';
-import { useRef, useState } from 'react';
-import OnboardingSlide from '../components/OnboardingSlide';
-import './Home.css';
-
-interface SlideContent {
- image: string;
- mainSlide?: boolean;
- finalSlide?: boolean;
- title: string;
- text: string;
-}
-
-const Home = (): React.JSX.Element => {
- const sliderRef = useRef(null);
- const [lastSlide, setLastSlide] = useState(false);
- const [firstSlide, setFirstSlide] = useState(true);
-
- const slideContent: SlideContent[] = [
- {
- image: '/assets/applogo1.png',
- mainSlide: true,
- title: 'Ionic Onboarding UI',
- text: 'Share moments with your followers and experience memorable captures',
- },
- {
- image: '/assets/1sub.png',
- title: 'Capture',
- text: 'Capture that perfect moment in your life',
- },
- {
- image: '/assets/2sub.png',
- title: 'Organize',
- text: 'Organize photos exactly how you want them',
- },
- {
- image: '/assets/3sub.png',
- title: 'Share',
- finalSlide: true,
- text: 'Are you ready to share your special moments online with the world?',
- },
- ];
-
- const checkSlides = async () => {
- if (!sliderRef.current) return;
-
- const isLastSlide = await sliderRef.current.isEnd();
- const isFirstSlide = await sliderRef.current.isBeginning();
- setLastSlide(isLastSlide);
- setFirstSlide(isFirstSlide);
- };
-
- return (
-
-
-
- {slideContent.map((slide, index) => {
- return (
-
- );
- })}
-
-
-
- {!firstSlide && (
- sliderRef.current?.slidePrev()}>
-
-
- )}
-
- {!lastSlide && (
- sliderRef.current?.slideNext()}>
-
-
- )}
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/theme/variables.css
deleted file mode 100644
index 5e720f4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOnboardingUi/theme/variables.css
+++ /dev/null
@@ -1,82 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-:root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-}
-
-.swiper-pagination {
-
- margin-bottom: 1rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/ActionSheet.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/ActionSheet.jsx
deleted file mode 100644
index 8d223d7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/ActionSheet.jsx
+++ /dev/null
@@ -1,65 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonActionSheet,
-} from '@ionic/react';
-
-const ActionSheet = () => {
- const [present, dismiss] = useIonActionSheet();
-
- return (
-
-
-
-
-
-
- Action Sheet
-
-
-
-
-
-
- Action Sheet
-
-
-
-
- present({
- buttons: [{ text: 'Ok' }, { text: 'Cancel' }],
- header: 'Action Sheet',
- })
- }
- >
- Show ActionSheet
-
- present([{ text: 'Ok' }, { text: 'Cancel' }], 'Action Sheet')}
- >
- Show ActionSheet using params
-
- {
- present([{ text: 'Ok' }, { text: 'Cancel' }], 'Action Sheet');
- setTimeout(dismiss, 3000);
- }}
- >
- Show ActionSheet, hide after 3 seconds
-
-
-
- );
-};
-
-export default ActionSheet;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Alert.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Alert.jsx
deleted file mode 100644
index d23d1ed..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Alert.jsx
+++ /dev/null
@@ -1,56 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonAlert,
-} from '@ionic/react';
-
-const Alert = () => {
- const [present] = useIonAlert();
-
- return (
-
-
-
-
-
-
- Alert
-
-
-
-
-
-
- Alert
-
-
-
-
- present({
- cssClass: 'my-css',
- header: 'Alert',
- message: 'alert from hook',
- buttons: ['Cancel', { text: 'Ok', handler: (d) => console.log('ok pressed') }],
- onDidDismiss: (e) => console.log('did dismiss'),
- })
- }
- >
- Show Alert
-
- present('hello with params', [{ text: 'Ok' }])}>
- Show Alert using params
-
-
-
- );
-};
-
-export default Alert;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/All.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/All.jsx
deleted file mode 100644
index 6db05e9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/All.jsx
+++ /dev/null
@@ -1,76 +0,0 @@
-import {
- IonButtons,
- IonCard,
- IonCardHeader,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- IonCardTitle,
- IonCardSubtitle,
- IonCardContent,
- IonText,
-} from '@ionic/react';
-
-const All = () => {
- return (
-
-
-
-
-
-
- All
-
-
-
-
-
-
- All
-
-
-
-
-
- Sample usage
- Overlay Hooks
-
-
-
-
-
- In Ionic React 5.6, the team packaged up a new set of hooks for controlling overlay
- components that they thought we might like. What is an overlay you ask? It’s the
- term that Ionic give components that display over your current content, such as
- alerts, modals, toasts, etc.
-
-
-
-
-
- All of the code is taken from the Ionic Framework docs. You can find the blog post
- outlining these new overlay hooks{' '}
-
- here.
-
-
-
-
-
- Check out the samples by navigating to a respective one in the side menu.
-
-
-
-
-
- );
-};
-
-export default All;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Loading.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Loading.jsx
deleted file mode 100644
index 803f134..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Loading.jsx
+++ /dev/null
@@ -1,52 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonLoading,
-} from '@ionic/react';
-
-const Loading = () => {
- const [present] = useIonLoading();
-
- return (
-
-
-
-
-
-
- Loading
-
-
-
-
-
-
- Loading
-
-
-
-
- present({
- duration: 3000,
- })
- }
- >
- Show Loading
-
- present('Loading', 2000, 'dots')}>
- Show Loading using params
-
-
-
- );
-};
-
-export default Loading;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Modal.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Modal.jsx
deleted file mode 100644
index 0533680..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Modal.jsx
+++ /dev/null
@@ -1,80 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonText,
- IonTitle,
- IonToolbar,
- useIonModal,
-} from '@ionic/react';
-import { useState } from 'react';
-
-const Modal = () => {
- const Body = ({ count, onDismiss, onIncrement }) => (
-
-
- Count: {count}
-
- onIncrement()}>
- Increment Count
-
- onDismiss()}>
- Close
-
-
- );
-
- const [count, setCount] = useState(0);
-
- const handleIncrement = () => {
- setCount(count + 1);
- };
-
- const handleDismiss = () => {
- dismiss();
- };
-
- const [present, dismiss] = useIonModal(Body, {
- count,
- onDismiss: handleDismiss,
- onIncrement: handleIncrement,
- });
-
- return (
-
-
-
-
-
-
- Modal
-
-
-
-
-
-
- Modal
-
-
-
- {
- present({
- cssClass: 'my-class',
- });
- }}
- >
- Show Modal
-
- Count: {count}
-
-
- );
-};
-
-export default Modal;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Picker.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Picker.jsx
deleted file mode 100644
index d036f6f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Picker.jsx
+++ /dev/null
@@ -1,104 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonPicker,
-} from '@ionic/react';
-import { useState } from 'react';
-
-const Picker = () => {
- const [present] = useIonPicker();
- const [value, setValue] = useState('');
-
- return (
-
-
-
-
-
-
- Picker
-
-
-
-
-
-
- Picker
-
-
-
-
- present({
- buttons: [
- {
- text: 'Confirm',
- handler: (selected) => {
- setValue(selected.animal.value);
- },
- },
- ],
- columns: [
- {
- name: 'animal',
- options: [
- { text: 'Dog', value: 'dog' },
- { text: 'Cat', value: 'cat' },
- { text: 'Bird', value: 'bird' },
- ],
- },
- ],
- })
- }
- >
- Show Picker
-
-
- present(
- [
- {
- name: 'animal',
- options: [
- { text: 'Dog', value: 'dog' },
- { text: 'Cat', value: 'cat' },
- { text: 'Bird', value: 'bird' },
- ],
- },
- {
- name: 'vehicle',
- options: [
- { text: 'Car', value: 'car' },
- { text: 'Truck', value: 'truck' },
- { text: 'Bike', value: 'bike' },
- ],
- },
- ],
- [
- {
- text: 'Confirm',
- handler: (selected) => {
- setValue(`${selected.animal.value}, ${selected.vehicle.value}`);
- },
- },
- ]
- )
- }
- >
- Show Picker using params
-
- {value && Selected Value: {value}
}
-
-
- );
-};
-
-export default Picker;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Popover.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Popover.jsx
deleted file mode 100644
index 20b54c7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Popover.jsx
+++ /dev/null
@@ -1,65 +0,0 @@
-import {
- IonButtons,
- IonContent,
- IonHeader,
- IonItem,
- IonListHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- IonList,
- useIonPopover,
- IonButton,
-} from '@ionic/react';
-
-const Popover = () => {
- const PopoverList = ({ onHide }) => (
-
- Ionic
- Learn Ionic
- Documentation
- Showcase
- GitHub Repo
-
- Close
-
-
- );
-
- const [present, dismiss] = useIonPopover(PopoverList, { onHide: () => dismiss() });
-
- return (
-
-
-
-
-
-
- Popover
-
-
-
-
-
-
- Popover
-
-
-
-
- present({
- event: e.nativeEvent,
- })
- }
- >
- Show Popover
-
-
-
- );
-};
-
-export default Popover;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Toast.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Toast.jsx
deleted file mode 100644
index aabc217..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/AppPages/Toast.jsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonToast,
-} from '@ionic/react';
-
-const Toast = () => {
- const [present, dismiss] = useIonToast();
-
- return (
-
-
-
-
-
-
- Toast
-
-
-
-
-
-
- Toast
-
-
-
-
- present({
- buttons: [{ text: 'hide', handler: () => dismiss() }],
- message: 'toast from hook, click hide to dismiss',
- onDidDismiss: () => console.log('dismissed'),
- onWillDismiss: () => console.log('will dismiss'),
- })
- }
- >
- Show Toast
-
- present('hello from hook', 3000)}>
- Show Toast using params, closes in 3 secs
-
-
- Hide Toast
-
-
-
- );
-};
-
-export default Toast;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/NOTES.md
deleted file mode 100644
index b1d9b52..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0152
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/TestComponents/Menu.css b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/TestComponents/Menu.css
deleted file mode 100644
index 0ca47a2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/TestComponents/Menu.css
+++ /dev/null
@@ -1,113 +0,0 @@
-ion-menu ion-content {
- --background: var(--ion-item-background, var(--ion-background-color, #fff));
-}
-
-ion-menu.md ion-content {
- --padding-start: 8px;
- --padding-end: 8px;
- --padding-top: 20px;
- --padding-bottom: 20px;
-}
-
-ion-menu.md ion-list {
- padding: 20px 0;
-}
-
-ion-menu.md ion-note {
- margin-bottom: 30px;
-}
-
-ion-menu.md ion-list-header, ion-menu.md ion-note {
- padding-left: 10px;
-}
-
-ion-menu.md ion-list#inbox-list {
- border-bottom: 1px solid var(--ion-color-step-150, #d7d8da);
-}
-
-ion-menu.md ion-list#inbox-list ion-list-header {
- font-size: 22px;
- font-weight: 600;
- min-height: 20px;
-}
-
-ion-menu.md ion-list#labels-list ion-list-header {
- font-size: 16px;
- margin-bottom: 18px;
- color: #757575;
- min-height: 26px;
-}
-
-ion-menu.md ion-item {
- --padding-start: 10px;
- --padding-end: 10px;
- border-radius: 4px;
-}
-
-ion-menu.md ion-item.selected {
- --background: rgba(var(--ion-color-primary-rgb), 0.14);
-}
-
-ion-menu.md ion-item.selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.md ion-item ion-icon {
- color: #616e7e;
-}
-
-ion-menu.md ion-item ion-label {
- font-weight: 500;
-}
-
-ion-menu.ios ion-content {
- --padding-bottom: 20px;
-}
-
-ion-menu.ios ion-list {
- padding: 20px 0 0 0;
-}
-
-ion-menu.ios ion-note {
- line-height: 24px;
- margin-bottom: 20px;
-}
-
-ion-menu.ios ion-item {
- --padding-start: 16px;
- --padding-end: 16px;
- --min-height: 50px;
-}
-
-ion-menu.ios ion-item ion-icon {
- font-size: 24px;
- color: #73849a;
-}
-
-ion-menu.ios ion-item .selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.ios ion-list#labels-list ion-list-header {
- margin-bottom: 8px;
-}
-
-ion-menu.ios ion-list-header,
-ion-menu.ios ion-note {
- padding-left: 16px;
- padding-right: 16px;
-}
-
-ion-menu.ios ion-note {
- margin-bottom: 8px;
-}
-
-ion-note {
- display: inline-block;
- font-size: 16px;
- color: var(--ion-color-medium-shade);
-}
-
-ion-item.selected {
- --color: var(--ion-color-primary);
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/TestComponents/Menu.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/TestComponents/Menu.jsx
deleted file mode 100644
index 5ccd3a2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/TestComponents/Menu.jsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import {
- IonContent,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonListHeader,
- IonMenu,
- IonMenuToggle,
- IonNote,
-} from '@ionic/react';
-
-import { useLocation } from 'react-router-dom';
-import { star, starOutline } from 'ionicons/icons';
-import './Menu.css';
-
-const Menu = ({ pages }) => {
- const location = useLocation();
-
- return (
-
-
-
- Overlay Hooks
- Choose one below to see a demo
-
- {pages.map((appPage, index) => {
- const isSelected = location.pathname === appPage.url;
-
- return (
-
-
-
- {appPage.label}
-
-
- );
- })}
-
-
-
- );
-};
-
-export default Menu;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/components/Menu.css b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/components/Menu.css
deleted file mode 100644
index 0ca47a2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/components/Menu.css
+++ /dev/null
@@ -1,113 +0,0 @@
-ion-menu ion-content {
- --background: var(--ion-item-background, var(--ion-background-color, #fff));
-}
-
-ion-menu.md ion-content {
- --padding-start: 8px;
- --padding-end: 8px;
- --padding-top: 20px;
- --padding-bottom: 20px;
-}
-
-ion-menu.md ion-list {
- padding: 20px 0;
-}
-
-ion-menu.md ion-note {
- margin-bottom: 30px;
-}
-
-ion-menu.md ion-list-header, ion-menu.md ion-note {
- padding-left: 10px;
-}
-
-ion-menu.md ion-list#inbox-list {
- border-bottom: 1px solid var(--ion-color-step-150, #d7d8da);
-}
-
-ion-menu.md ion-list#inbox-list ion-list-header {
- font-size: 22px;
- font-weight: 600;
- min-height: 20px;
-}
-
-ion-menu.md ion-list#labels-list ion-list-header {
- font-size: 16px;
- margin-bottom: 18px;
- color: #757575;
- min-height: 26px;
-}
-
-ion-menu.md ion-item {
- --padding-start: 10px;
- --padding-end: 10px;
- border-radius: 4px;
-}
-
-ion-menu.md ion-item.selected {
- --background: rgba(var(--ion-color-primary-rgb), 0.14);
-}
-
-ion-menu.md ion-item.selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.md ion-item ion-icon {
- color: #616e7e;
-}
-
-ion-menu.md ion-item ion-label {
- font-weight: 500;
-}
-
-ion-menu.ios ion-content {
- --padding-bottom: 20px;
-}
-
-ion-menu.ios ion-list {
- padding: 20px 0 0 0;
-}
-
-ion-menu.ios ion-note {
- line-height: 24px;
- margin-bottom: 20px;
-}
-
-ion-menu.ios ion-item {
- --padding-start: 16px;
- --padding-end: 16px;
- --min-height: 50px;
-}
-
-ion-menu.ios ion-item ion-icon {
- font-size: 24px;
- color: #73849a;
-}
-
-ion-menu.ios ion-item .selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.ios ion-list#labels-list ion-list-header {
- margin-bottom: 8px;
-}
-
-ion-menu.ios ion-list-header,
-ion-menu.ios ion-note {
- padding-left: 16px;
- padding-right: 16px;
-}
-
-ion-menu.ios ion-note {
- margin-bottom: 8px;
-}
-
-ion-note {
- display: inline-block;
- font-size: 16px;
- color: var(--ion-color-medium-shade);
-}
-
-ion-item.selected {
- --color: var(--ion-color-primary);
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/components/Menu.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/components/Menu.jsx
deleted file mode 100644
index 5ccd3a2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/components/Menu.jsx
+++ /dev/null
@@ -1,51 +0,0 @@
-import {
- IonContent,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonListHeader,
- IonMenu,
- IonMenuToggle,
- IonNote,
-} from '@ionic/react';
-
-import { useLocation } from 'react-router-dom';
-import { star, starOutline } from 'ionicons/icons';
-import './Menu.css';
-
-const Menu = ({ pages }) => {
- const location = useLocation();
-
- return (
-
-
-
- Overlay Hooks
- Choose one below to see a demo
-
- {pages.map((appPage, index) => {
- const isSelected = location.pathname === appPage.url;
-
- return (
-
-
-
- {appPage.label}
-
-
- );
- })}
-
-
-
- );
-};
-
-export default Menu;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/index.tsx
deleted file mode 100644
index a6faa34..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/index.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import {
- IonIcon,
- IonLabel,
- IonRouterOutlet,
- IonSplitPane,
- IonTabBar,
- IonTabButton,
- IonTabs,
-} from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-import Menu from './components/Menu';
-
-import All from './AppPages/All';
-import ActionSheet from './AppPages/ActionSheet';
-import Alert from './AppPages/Alert';
-import Loading from './AppPages/Loading';
-import Modal from './AppPages/Modal';
-import Picker from './AppPages/Picker';
-import Popover from './AppPages/Popover';
-import Toast from './AppPages/Toast';
-import './style.scss';
-
-function DemoReactOverlayHooks() {
- const pages = [
- { label: 'All', url: '/overlay/all', component: All },
- { label: 'Action Sheet', url: '/overlay/action-sheet', component: ActionSheet },
- { label: 'Alert', url: '/overlay/alert', component: Alert },
- { label: 'Loading', url: '/overlay/loading', component: Loading },
- { label: 'Modal', url: '/overlay/modal', component: Modal },
- { label: 'Picker', url: '/overlay/picker', component: Picker },
- { label: 'Popover', url: '/overlay/popover', component: Popover },
- { label: 'Toast', url: '/overlay/toast', component: Toast },
- ];
-
- return (
-
-
-
-
-
-
-
- {pages.map((page, index) => {
- const pageComponent = page.component;
-
- return (
-
- );
- })}
-
-
- );
-}
-
-export default DemoReactOverlayHooks;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/ActionSheet.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/ActionSheet.jsx
deleted file mode 100644
index 8d223d7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/ActionSheet.jsx
+++ /dev/null
@@ -1,65 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonActionSheet,
-} from '@ionic/react';
-
-const ActionSheet = () => {
- const [present, dismiss] = useIonActionSheet();
-
- return (
-
-
-
-
-
-
- Action Sheet
-
-
-
-
-
-
- Action Sheet
-
-
-
-
- present({
- buttons: [{ text: 'Ok' }, { text: 'Cancel' }],
- header: 'Action Sheet',
- })
- }
- >
- Show ActionSheet
-
- present([{ text: 'Ok' }, { text: 'Cancel' }], 'Action Sheet')}
- >
- Show ActionSheet using params
-
- {
- present([{ text: 'Ok' }, { text: 'Cancel' }], 'Action Sheet');
- setTimeout(dismiss, 3000);
- }}
- >
- Show ActionSheet, hide after 3 seconds
-
-
-
- );
-};
-
-export default ActionSheet;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Alert.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Alert.jsx
deleted file mode 100644
index d23d1ed..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Alert.jsx
+++ /dev/null
@@ -1,56 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonAlert,
-} from '@ionic/react';
-
-const Alert = () => {
- const [present] = useIonAlert();
-
- return (
-
-
-
-
-
-
- Alert
-
-
-
-
-
-
- Alert
-
-
-
-
- present({
- cssClass: 'my-css',
- header: 'Alert',
- message: 'alert from hook',
- buttons: ['Cancel', { text: 'Ok', handler: (d) => console.log('ok pressed') }],
- onDidDismiss: (e) => console.log('did dismiss'),
- })
- }
- >
- Show Alert
-
- present('hello with params', [{ text: 'Ok' }])}>
- Show Alert using params
-
-
-
- );
-};
-
-export default Alert;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/All.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/All.jsx
deleted file mode 100644
index 6db05e9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/All.jsx
+++ /dev/null
@@ -1,76 +0,0 @@
-import {
- IonButtons,
- IonCard,
- IonCardHeader,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- IonCardTitle,
- IonCardSubtitle,
- IonCardContent,
- IonText,
-} from '@ionic/react';
-
-const All = () => {
- return (
-
-
-
-
-
-
- All
-
-
-
-
-
-
- All
-
-
-
-
-
- Sample usage
- Overlay Hooks
-
-
-
-
-
- In Ionic React 5.6, the team packaged up a new set of hooks for controlling overlay
- components that they thought we might like. What is an overlay you ask? It’s the
- term that Ionic give components that display over your current content, such as
- alerts, modals, toasts, etc.
-
-
-
-
-
- All of the code is taken from the Ionic Framework docs. You can find the blog post
- outlining these new overlay hooks{' '}
-
- here.
-
-
-
-
-
- Check out the samples by navigating to a respective one in the side menu.
-
-
-
-
-
- );
-};
-
-export default All;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Loading.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Loading.jsx
deleted file mode 100644
index 803f134..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Loading.jsx
+++ /dev/null
@@ -1,52 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonLoading,
-} from '@ionic/react';
-
-const Loading = () => {
- const [present] = useIonLoading();
-
- return (
-
-
-
-
-
-
- Loading
-
-
-
-
-
-
- Loading
-
-
-
-
- present({
- duration: 3000,
- })
- }
- >
- Show Loading
-
- present('Loading', 2000, 'dots')}>
- Show Loading using params
-
-
-
- );
-};
-
-export default Loading;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Modal.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Modal.jsx
deleted file mode 100644
index 0533680..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Modal.jsx
+++ /dev/null
@@ -1,80 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonText,
- IonTitle,
- IonToolbar,
- useIonModal,
-} from '@ionic/react';
-import { useState } from 'react';
-
-const Modal = () => {
- const Body = ({ count, onDismiss, onIncrement }) => (
-
-
- Count: {count}
-
- onIncrement()}>
- Increment Count
-
- onDismiss()}>
- Close
-
-
- );
-
- const [count, setCount] = useState(0);
-
- const handleIncrement = () => {
- setCount(count + 1);
- };
-
- const handleDismiss = () => {
- dismiss();
- };
-
- const [present, dismiss] = useIonModal(Body, {
- count,
- onDismiss: handleDismiss,
- onIncrement: handleIncrement,
- });
-
- return (
-
-
-
-
-
-
- Modal
-
-
-
-
-
-
- Modal
-
-
-
- {
- present({
- cssClass: 'my-class',
- });
- }}
- >
- Show Modal
-
- Count: {count}
-
-
- );
-};
-
-export default Modal;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Picker.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Picker.jsx
deleted file mode 100644
index d036f6f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Picker.jsx
+++ /dev/null
@@ -1,104 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonPicker,
-} from '@ionic/react';
-import { useState } from 'react';
-
-const Picker = () => {
- const [present] = useIonPicker();
- const [value, setValue] = useState('');
-
- return (
-
-
-
-
-
-
- Picker
-
-
-
-
-
-
- Picker
-
-
-
-
- present({
- buttons: [
- {
- text: 'Confirm',
- handler: (selected) => {
- setValue(selected.animal.value);
- },
- },
- ],
- columns: [
- {
- name: 'animal',
- options: [
- { text: 'Dog', value: 'dog' },
- { text: 'Cat', value: 'cat' },
- { text: 'Bird', value: 'bird' },
- ],
- },
- ],
- })
- }
- >
- Show Picker
-
-
- present(
- [
- {
- name: 'animal',
- options: [
- { text: 'Dog', value: 'dog' },
- { text: 'Cat', value: 'cat' },
- { text: 'Bird', value: 'bird' },
- ],
- },
- {
- name: 'vehicle',
- options: [
- { text: 'Car', value: 'car' },
- { text: 'Truck', value: 'truck' },
- { text: 'Bike', value: 'bike' },
- ],
- },
- ],
- [
- {
- text: 'Confirm',
- handler: (selected) => {
- setValue(`${selected.animal.value}, ${selected.vehicle.value}`);
- },
- },
- ]
- )
- }
- >
- Show Picker using params
-
- {value && Selected Value: {value}
}
-
-
- );
-};
-
-export default Picker;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Popover.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Popover.jsx
deleted file mode 100644
index 20b54c7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Popover.jsx
+++ /dev/null
@@ -1,65 +0,0 @@
-import {
- IonButtons,
- IonContent,
- IonHeader,
- IonItem,
- IonListHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- IonList,
- useIonPopover,
- IonButton,
-} from '@ionic/react';
-
-const Popover = () => {
- const PopoverList = ({ onHide }) => (
-
- Ionic
- Learn Ionic
- Documentation
- Showcase
- GitHub Repo
-
- Close
-
-
- );
-
- const [present, dismiss] = useIonPopover(PopoverList, { onHide: () => dismiss() });
-
- return (
-
-
-
-
-
-
- Popover
-
-
-
-
-
-
- Popover
-
-
-
-
- present({
- event: e.nativeEvent,
- })
- }
- >
- Show Popover
-
-
-
- );
-};
-
-export default Popover;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Toast.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Toast.jsx
deleted file mode 100644
index aabc217..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/pages/Toast.jsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonToast,
-} from '@ionic/react';
-
-const Toast = () => {
- const [present, dismiss] = useIonToast();
-
- return (
-
-
-
-
-
-
- Toast
-
-
-
-
-
-
- Toast
-
-
-
-
- present({
- buttons: [{ text: 'hide', handler: () => dismiss() }],
- message: 'toast from hook, click hide to dismiss',
- onDidDismiss: () => console.log('dismissed'),
- onWillDismiss: () => console.log('will dismiss'),
- })
- }
- >
- Show Toast
-
- present('hello from hook', 3000)}>
- Show Toast using params, closes in 3 secs
-
-
- Hide Toast
-
-
-
- );
-};
-
-export default Toast;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/theme/variables.css
deleted file mode 100644
index 088e83c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactOverlayHooks/theme/variables.css
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-:root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/Add.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/Add.jsx
deleted file mode 100644
index d0a1534..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/Add.jsx
+++ /dev/null
@@ -1,237 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCardTitle,
- IonCol,
- IonContent,
- IonFooter,
- IonGrid,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonMenuButton,
- IonPage,
- IonRow,
- IonTextarea,
- IonTitle,
- IonToolbar,
- useIonRouter,
- useIonViewDidEnter,
-} from '@ionic/react';
-import { useState } from 'react';
-
-import { GithubPicker } from 'react-color';
-import { getColors } from '../helpers/utils';
-import { addOutline } from 'ionicons/icons';
-import { PollDuration } from '../components/PollDuration';
-import { PollAnswer } from '../components/PollAnswer';
-import { addPoll } from '../store/PollStore';
-
-const Add = () => {
- const router = useIonRouter();
- const [showPicker, setShowPicker] = useState(false);
- const [pollQuestion, setPollQuestion] = useState('');
- const [pollColor, setPollColor] = useState('#427ed8');
- const [pollAnswers, setPollAnswers] = useState([]);
-
- const [pollDays, setPollDays] = useState(0);
- const [pollHours, setPollHours] = useState(0);
- const [pollMins, setPollMins] = useState(0);
-
- const pickerColors = [
- '#759dc7',
- '#68bd8d',
- '#bd7368',
- '#8d68bd',
- '#bd68ac',
- '#6868bd',
- '#68a8bd',
- '#68bda5',
- '#bd9868',
- '#d84848',
- '#d87c48',
- '#d8bb48',
- '#7c7c7c',
- ];
-
- const colors = pollColor && getColors(pollColor);
-
- useIonViewDidEnter(() => {
- setShowPicker(false);
- setPollQuestion('');
- setPollColor('#427ed8');
- setPollAnswers([]);
-
- setPollDays(0);
- setPollHours(0);
- setPollMins(0);
- });
-
- const handleAdd = async () => {
- const timeLeftDays = pollDays !== 0 && pollDays !== '' ? `${pollDays} days, ` : '';
- const timeLeftHours = pollHours !== 0 && pollHours !== '' ? `${pollHours} hours, ` : '';
- const timeLeftMins = pollMins !== 0 && pollMins !== '' ? `${pollMins} mins` : '';
-
- const timeLeft = `${timeLeftDays}${timeLeftHours}${timeLeftMins}`;
-
- const poll = {
- id: Date.now(),
- question: pollQuestion,
- color: pollColor,
- timeLeft,
- answers: pollAnswers,
- totalVotes: 0,
- voted: false,
- };
-
- addPoll(poll);
- router.push('/page/view');
- };
-
- const addAnswer = () => {
- const answer = {
- id: Date.now(),
- answer: '',
- votes: 0,
- voted: false,
- percent: 0,
- };
-
- setPollAnswers((prev) => [...prev, answer]);
- };
-
- const removeAnswer = (answer) => {
- const newAnswers = pollAnswers.filter((p) => p !== answer);
- setPollAnswers(newAnswers);
- };
-
- const handleChange = (e, index) => {
- const newAnswers = [...pollAnswers];
- newAnswers[index].answer = e.target.value;
- setPollAnswers(newAnswers);
- };
-
- return (
-
-
-
-
-
-
- Add Poll
-
-
-
-
-
-
- Add Poll
-
-
-
-
-
-
- setShowPicker(!showPicker)}
- size="large"
- fill="solid"
- style={colors.votedButtonStyle}
- >
- Poll Color
-
- {showPicker && (
- setPollColor(color.hex)}
- onChangeComplete={() => setShowPicker(false)}
- />
- )}
-
-
-
- Poll Question
- setPollQuestion(e.target.value)}
- placeholder="A question to ask..."
- />
-
-
-
-
-
-
- Poll Duration
-
-
-
-
-
-
-
-
-
-
-
-
-
- Poll Answers
-
-
-
- 0}>
-
-
-
-
-
- {pollAnswers.length > 0 &&
- pollAnswers.map((answer, index) => {
- return (
-
- );
- })}
-
-
- {!pollAnswers.length && (
-
-
-
- There are currenty no answers added for this poll.
-
- Add one now
-
-
-
-
- )}
-
-
-
-
-
-
-
-
- Save
-
-
-
-
-
- );
-};
-
-export default Add;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/Add.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/Add.module.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/Tab1.jsx
deleted file mode 100644
index 54ab2b9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../components/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/Tab2.jsx
deleted file mode 100644
index 216544f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/View.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/View.jsx
deleted file mode 100644
index 5eeb4d1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/View.jsx
+++ /dev/null
@@ -1,97 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCard,
- IonCardHeader,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonFooter,
- IonHeader,
- IonIcon,
- IonMenuButton,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { arrowForwardOutline } from 'ionicons/icons';
-import { getCardStyle } from '../helpers/utils';
-import { PollStore } from '../store';
-import { getPolls } from '../store/Selectors';
-import styles from './View.module.scss';
-
-const View = () => {
- const polls = PollStore.useState(getPolls);
-
- return (
-
-
-
-
-
-
- Ionic Polls
-
-
-
-
-
-
- Ionic Polls
-
-
-
- {polls.map((poll) => {
- const colors = getCardStyle(poll.color);
-
- return (
-
-
-
-
- {poll.question}
-
- {poll.timeLeft} left
-
- {poll.totalVotes} votes already
-
- {poll.voted
- ? 'You have voted on this poll'
- : "You haven't voted on this poll"}
-
-
-
-
-
-
- View
-
-
-
-
-
- );
- })}
-
-
-
-
-
-
- Add new poll
-
-
-
-
-
- );
-};
-
-export default View;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/View.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/View.module.scss
deleted file mode 100644
index efa8dd9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/View.module.scss
+++ /dev/null
@@ -1,28 +0,0 @@
-.pollQuestion {
-
- ion-card-title {
-
- font-size: 1rem;
- }
-
- ion-card-subtitle {
-
- font-size: 0.7rem;
- }
-
- ion-button {
-
- margin-left: -1.5rem;
-
- ion-icon {
-
- font-size: 1rem;
- margin-left: 0.3rem;
- }
- }
-
- p {
-
-
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/ViewPoll.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/ViewPoll.jsx
deleted file mode 100644
index cc2272b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/ViewPoll.jsx
+++ /dev/null
@@ -1,183 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCard,
- IonCardHeader,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonFooter,
- IonHeader,
- IonIcon,
- IonPage,
- IonProgressBar,
- IonRow,
- IonTitle,
- IonToast,
- IonToolbar,
- useIonViewWillEnter,
- useIonPopover,
-} from '@ionic/react';
-import { arrowRedoOutline, colorWandOutline } from 'ionicons/icons';
-import { useState } from 'react';
-import { useParams } from 'react-router';
-import { PollStore } from '../store';
-import { addVote } from '../store/PollStore';
-import { getPoll } from '../store/Selectors';
-import styles from './ViewPoll.module.scss';
-import { getColors } from '../helpers/utils';
-import { SharePopover } from '../components/Share';
-import { useRef } from 'react';
-
-const ViewPoll = () => {
- const params = useParams();
- const poll = PollStore.useState(getPoll(params.id));
-
- const answerRefs = useRef([]);
- const [colors, setColors] = useState({});
- const [showToast, setShowToast] = useState(false);
- const [showVotes, setShowVotes] = useState(false);
-
- const [present, dismiss] = useIonPopover(SharePopover, {
- onHide: () => dismiss(),
- poll,
- setShowToast,
- });
-
- useIonViewWillEnter(() => {
- const cardStyleColors = getColors(poll.color);
- setColors(cardStyleColors);
- });
-
- const vote = (answerId) => {
- if (!poll.voted) {
- poll.answers.forEach((answer, index) => {
- const pollAnswer = answerRefs.current[index];
- pollAnswer.classList.add('animate__fadeOut');
- });
-
- setTimeout(() => addVote(params.id, answerId), 550);
- }
- };
-
- const getAnswerPercentage = (totalVotes, answerVotes) => {
- const percent = Math.round((answerVotes / totalVotes) * 100);
- return percent;
- };
-
- return (
-
-
-
-
-
-
- Ionic Poll
-
-
-
-
-
-
- Ionic Poll
-
-
-
-
-
- {poll.question}
-
- {poll.timeLeft} left
-
- {poll.totalVotes} votes already
-
-
-
-
- {poll.answers.map((answer, index) => {
- const answerPercentage = getAnswerPercentage(poll.totalVotes, answer.votes);
-
- return (
-
-
- {!poll.voted && (
- (answerRefs.current[index] = ref)}
- expand="block"
- fill={answer.voted ? 'solid' : 'outline'}
- style={answer.voted ? colors.votedButtonStyle : colors.notVotedbuttonStyle}
- onClick={() => vote(answer.id)}
- >
- {answer.answer}
- {poll.voted && ` (${answerPercentage}%)`}
-
- )}
-
- {poll.voted && (
-
-
- {answer.answer} ({answerPercentage})%
-
- {showVotes && (
-
- {answer.votes} of {poll.totalVotes} total votes
-
- )}
-
-
- )}
-
-
- );
- })}
-
-
- setShowToast(false)}
- isOpen={showToast}
- color="dark"
- position="bottom"
- />
-
-
-
-
-
- present({ event: e.nativeEvent })}
- >
-
- Share
-
-
-
-
- setShowVotes(!showVotes)}
- disabled={!poll.voted}
- >
-
- {showVotes ? 'Hide' : 'Show'} votes
-
-
-
-
-
- );
-};
-
-export default ViewPoll;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/ViewPoll.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/ViewPoll.module.scss
deleted file mode 100644
index 8d3d411..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/AppPages/ViewPoll.module.scss
+++ /dev/null
@@ -1,40 +0,0 @@
-.pollQuestion {
-
- ion-card-title {
-
- font-size: 1rem;
- }
-
- ion-card-subtitle {
-
- font-size: 0.7rem;
- }
-
- ion-button {
-
- margin-left: -1.5rem;
-
- ion-icon {
-
- font-size: 1rem;
- margin-left: 0.3rem;
- }
- }
-}
-
-.pollAnswer {
-
- p {
-
- margin: 0;
- padding: 0;
- text-align: center;
- font-weight: 600;
- margin-bottom: 0.2rem;
- }
-
- div {
-
- margin-bottom: 1rem;
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/NOTES.md
deleted file mode 100644
index e9c3f2e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0153
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/TODO.md b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/TODO.md
deleted file mode 100644
index 0bf5d30..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/TODO.md
+++ /dev/null
@@ -1,4 +0,0 @@
-# TODO
-
-css temporary broken, ignored
-https://ionicreacthub.com/ionic-react-poll-app
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/components/PollAnswer.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/components/PollAnswer.jsx
deleted file mode 100644
index f5e0423..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/components/PollAnswer.jsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { IonButton, IonCol, IonIcon, IonInput, IonItem, IonLabel, IonRow } from '@ionic/react';
-import { trashOutline } from 'ionicons/icons';
-
-export const PollAnswer = ({ index, value, change, remove }) => (
-
-
-
-
- Option {index + 1}
- change(e, index)}
- placeholder="Enter answer..."
- />
-
-
-
-
- remove(value)}>
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/components/PollDuration.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/components/PollDuration.jsx
deleted file mode 100644
index 6fb8d56..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/components/PollDuration.jsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { IonCardSubtitle, IonCol, IonInput, IonItem } from '@ionic/react';
-
-export const PollDuration = ({ label, value, setter }) => (
-
-
-
- {label}
- setter(e.target.value)}
- />
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/components/Share.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/components/Share.jsx
deleted file mode 100644
index bd31ca7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/components/Share.jsx
+++ /dev/null
@@ -1,42 +0,0 @@
-import { IonItem, IonList, IonListHeader } from '@ionic/react';
-import { Share } from '@capacitor/share';
-import { Clipboard } from '@capacitor/clipboard';
-
-export const SharePopover = ({ onHide, poll, setShowToast }) => {
- const sharePoll = async () => {
- const shareLink = `https://ionic-react-poll-app.netlify.app/page/view/${poll.id}`;
- const title = `Check out this poll - ${poll.question} | ${poll.totalVotes} votes already`;
-
- await Share.share({
- title: title,
- text: title,
- url: shareLink,
- dialogTitle: 'Share this poll',
- });
- };
-
- const copyLink = async () => {
- await Clipboard.write({
- string: `https://ionic-react-poll-app.netlify.app/page/view/${poll.id}`,
- });
-
- onHide();
-
- setShowToast(true);
- };
-
- return (
-
- Share Poll
-
- Socials
-
-
- Copy Link
-
-
- Close
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/helpers/utils.js b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/helpers/utils.js
deleted file mode 100644
index 95f131e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/helpers/utils.js
+++ /dev/null
@@ -1,79 +0,0 @@
-export const getColors = (baseColor) => {
- const textColor = shadeColor(baseColor, 200);
- const subTextColor = shadeColor(baseColor, 120);
- const backgroundColor = baseColor;
-
- return {
- textColor,
- subTextColor,
- backgroundColor,
- notVotedbuttonStyle: {
- '--color': baseColor,
- '--background-focused': baseColor,
- '--background-activated': baseColor,
- '--background': 'white',
- '--border-color': baseColor,
- },
- votedButtonStyle: {
- '--color': shadeColor(baseColor, 200),
- '--background-focused': baseColor,
- '--background-activated': baseColor,
- '--background': baseColor,
- '--border-color': shadeColor(baseColor, 200),
- },
- percentTrack: {
- '--background': shadeColor(baseColor, 70),
- '--progress-background': baseColor,
- height: '1rem',
- },
- };
-};
-
-export const getCardStyle = (baseColor) => {
- const textColor = shadeColor(baseColor, 200);
- const subTextColor = shadeColor(baseColor, 120);
- const backgroundColor = baseColor;
- const buttonColor = shadeColor(baseColor, 100);
- const buttonTextColor = shadeColor(baseColor, 0);
-
- return {
- textColor,
- subTextColor,
- backgroundColor,
- buttonStyle: {
- '--color': buttonTextColor,
- '--background': buttonColor,
- '--background-focused': shadeColor(baseColor, 20),
- '--background-activated': shadeColor(baseColor, 20),
- },
- statusBadge: {
- backgroundColor: 'rgba(0, 0, 0, 0.1)',
- width: 'fit-content',
- padding: '0.5rem',
- color: subTextColor,
- margin: 0,
- marginTop: '1rem',
- borderRadius: '5px',
- },
- };
-};
-
-export const shadeColor = (color, percent) => {
- var R = parseInt(color.substring(1, 3), 16);
- var G = parseInt(color.substring(3, 5), 16);
- var B = parseInt(color.substring(5, 7), 16);
-
- R = parseInt((R * (100 + percent)) / 100);
- G = parseInt((G * (100 + percent)) / 100);
- B = parseInt((B * (100 + percent)) / 100);
-
- R = R < 255 ? R : 255;
- G = G < 255 ? G : 255;
- B = B < 255 ? B : 255;
-
- var RR = R.toString(16).length == 1 ? '0' + R.toString(16) : R.toString(16);
- var GG = G.toString(16).length == 1 ? '0' + G.toString(16) : G.toString(16);
- var BB = B.toString(16).length == 1 ? '0' + B.toString(16) : B.toString(16);
-
- return '#' + RR + GG + BB;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/index.tsx
deleted file mode 100644
index 6505d11..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/index.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Add from './AppPages/Add';
-import View from './AppPages/View';
-import ViewPoll from './AppPages/ViewPoll';
-
-import './style.scss';
-
-function DemoReactPollApp() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoReactPollApp;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/store/PollStore.js b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/store/PollStore.js
deleted file mode 100644
index fe11848..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/store/PollStore.js
+++ /dev/null
@@ -1,153 +0,0 @@
-import { Store } from 'pullstate';
-
-const PollStore = new Store({
- polls: [
- {
- id: 1,
- question: 'What is your favourite movie?',
- timeLeft: '2 hours, 17 mins',
- totalVotes: 137,
- color: '#759dc7',
- voted: false,
- answers: [
- {
- id: 1,
- answer: 'Avengers',
- votes: 76,
- voted: false,
- percent: 0,
- },
- {
- id: 2,
- answer: 'Taken 2',
- votes: 61,
- voted: false,
- percent: 0,
- },
- ],
- },
- {
- id: 2,
- question: 'Do you prefer night or day?',
- timeLeft: '1 hours, 3 mins',
- totalVotes: 22,
- color: '#68bd8d',
- voted: false,
- answers: [
- {
- id: 1,
- answer: 'Night',
- votes: 11,
- voted: false,
- percent: 0,
- },
- {
- id: 2,
- answer: 'Day',
- votes: 8,
- voted: false,
- percent: 0,
- },
- {
- id: 3,
- answer: 'In the middle',
- votes: 3,
- voted: false,
- percent: 0,
- },
- ],
- },
- {
- id: 3,
- question: 'Who is the better singer?',
- timeLeft: '1 day, 2 hours, 43 mins',
- totalVotes: 268,
- color: '#8d68bd',
- voted: false,
- answers: [
- {
- id: 1,
- answer: 'Abba',
- votes: 104,
- voted: false,
- percent: 0,
- },
- {
- id: 2,
- answer: 'Metallica',
- votes: 114,
- voted: false,
- percent: 0,
- },
- {
- id: 3,
- answer: 'Queen',
- votes: 50,
- voted: false,
- percent: 0,
- },
- ],
- },
- {
- id: 4,
- question: 'Best type of food?',
- timeLeft: '4 days, 6 hours, 19 mins',
- totalVotes: 166,
- color: '#7c7c7c',
- voted: false,
- answers: [
- {
- id: 1,
- answer: 'Hamburger',
- votes: 76,
- voted: false,
- percent: 0,
- },
- {
- id: 2,
- answer: 'Hotdog',
- votes: 61,
- voted: false,
- percent: 0,
- },
- {
- id: 3,
- answer: 'Chips',
- votes: 10,
- voted: false,
- percent: 0,
- },
- {
- id: 4,
- answer: 'Steak',
- votes: 19,
- voted: false,
- percent: 0,
- },
- ],
- },
- ],
-});
-
-export default PollStore;
-
-export const addVote = (pollId, answerId) => {
- PollStore.update((state) => {
- const pollIndex = state.polls.findIndex((poll) => poll.id === parseInt(pollId));
- const answerIndex = state.polls[pollIndex].answers.findIndex(
- (answer) => answer.id === parseInt(answerId)
- );
-
- state.polls[pollIndex].voted = true;
- state.polls[pollIndex].totalVotes = state.polls[pollIndex].totalVotes + 1;
- state.polls[pollIndex].answers[answerIndex].votes =
- state.polls[pollIndex].answers[answerIndex].votes + 1;
- state.polls[pollIndex].answers[answerIndex].voted = true;
- });
-};
-
-export const addPoll = (poll) => {
- PollStore.update((state) => {
- state.polls.unshift(poll);
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/store/Selectors.js
deleted file mode 100644
index c81fcd5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/store/Selectors.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getPolls = createSelector(getState, (state) => state.polls);
-
-// More specific getters
-export const getPoll = (pollId) =>
- createSelector(
- getState,
- (state) => state.polls.filter((poll) => poll.id === parseInt(pollId))[0]
- );
-// export const getChat = contactId => createSelector(getState, state => state.chats.filter(c => parseInt(c.contact_id) === parseInt(contactId))[0].chats);
-// export const getContact = contactId => createSelector(getState, state => state.contacts.filter(c => parseInt(c.id) === parseInt(contactId))[0]);
-
-// export const getChatNotificationCount = contactId => createSelector(getState, state => (state.chats.filter(c => parseInt(c.contact_id) === parseInt(contactId))[0].chats).filter(chat => chat.read === false));
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/store/index.js
deleted file mode 100644
index 70f228a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/store/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as PollStore } from './PollStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/style.scss
deleted file mode 100644
index 97a4acb..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactPollApp/style.scss
+++ /dev/null
@@ -1,84 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-.demo-react-poll-app {
- * {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-
- ion-footer {
- border-top: 4px solid rgb(243, 243, 243);
- background-color: white;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/AppPages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/AppPages/Tab1.tsx
deleted file mode 100644
index d0c5dc7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/AppPages/Tab1.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1(): React.JSX.Element {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/AppPages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/AppPages/Tab2.tsx
deleted file mode 100644
index 480465c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/AppPages/Tab2.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2(): React.JSX.Element {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/NOTES.md
deleted file mode 100644
index 77d6a83..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0154
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index c045cb7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,83 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({
- type,
- currentWeather,
-}: {
- type: string;
- currentWeather: any;
-}) => {
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- const [property, setProperty] = useState();
-
- useEffect(() => {
- switch (type) {
- case 'wind':
- setProperty(properties.wind);
- break;
- case 'feelsLike':
- setProperty(properties.feelsLike);
- break;
- case 'pressure':
- setProperty(properties.pressure);
- break;
- case 'indexUV':
- setProperty(properties.indexUV);
- break;
- }
- }, [type]);
-
- if (!property) return <>loading>;
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/index.tsx
deleted file mode 100644
index 4045cf1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/index.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-// import './style.scss';
-import Home from './pages/Home';
-
-function DemoReactProfileDashboardUi() {
- return (
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoReactProfileDashboardUi;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/pages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/pages/Home.module.scss
deleted file mode 100644
index 7e83fa8..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/pages/Home.module.scss
+++ /dev/null
@@ -1,105 +0,0 @@
-.home {
- ion-header {
- &.header-md:after {
- background: none;
- }
- }
-
- ion-header,
- ion-toolbar {
- border: none !important;
- --border-style: none !important;
- border-color: none !important;
- border-bottom: none !important;
- }
-
- ion-toolbar {
- background-color: #5893fa;
- --background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%236a9df6' fill-opacity='0.9' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
- }
-}
-
-.topHeader {
- height: 8rem;
- margin-bottom: -8rem;
- border-end-start-radius: 60px !important;
-
- background-color: #5893fa;
- background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cg fill-rule='evenodd'%3E%3Cg id='hexagons' fill='%236a9df6' fill-opacity='0.9' fill-rule='nonzero'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
-}
-
-.avatar {
- border-radius: 10px;
-}
-
-.profileStats {
- background-color: rgb(245, 245, 245);
- border-radius: 10px !important;
- padding: 0.2rem;
- align-content: center;
-}
-
-.profileStat {
- text-align: center;
- margin: 0 auto;
-
- ion-card-title {
- color: rgb(68, 68, 68);
- font-size: 0.8rem;
- }
-
- ion-card-subtitle {
- font-size: 0.6rem;
- }
-}
-
-.profileInfo {
- text-align: left;
- margin-top: -0.2rem;
- justify-content: center;
- align-content: center;
- align-items: center;
-}
-
-.profileName {
- color: rgb(59, 59, 59) !important;
- font-weight: 500 !important;
-}
-
-.profileCard {
- ion-icon {
- font-size: 1.75rem;
- color: #5893fa;
- margin-bottom: 1rem;
- }
-}
-
-.profileStatusContainer {
- margin-top: -2rem;
- margin-bottom: -2rem;
-
- ion-card-content {
- margin-top: -1rem !important;
- }
-}
-
-.profileActionContainer {
- margin-top: -2rem;
-}
-
-.profileStatus {
- ion-card-subtitle {
- margin-top: 0.35rem;
- margin-left: 1rem;
- }
-}
-
-.profileActionCard {
- padding-top: 0.5rem;
-
- ion-icon {
- font-size: 1.75rem;
- color: #5893fa;
- margin-top: -0.3rem;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/pages/Home.tsx
deleted file mode 100644
index b7471b2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/pages/Home.tsx
+++ /dev/null
@@ -1,183 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCardHeader,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonText,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import styles from './Home.module.scss';
-
-import {
- arrowBackOutline,
- arrowForward,
- bookmarkOutline,
- chatboxEllipsesOutline,
- chevronBackOutline,
- ellipsisHorizontal,
- imageOutline,
- personAddOutline,
-} from 'ionicons/icons';
-
-const Home = (): React.JSX.Element => {
- const router = useIonRouter();
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
- handleBackClick()} color="light">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Alan Montgomery
-
-
- Mobile Team Lead
-
-
-
-
-
-
- 109
- Followinig
-
-
-
- 1.2k
- Followers
-
-
-
-
-
-
-
-
- Message
-
-
-
-
-
-
- Follow
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Status
-
-
-
-
-
- I love posting content related to Ionic React! Make sure to check out the
- Ionic React Hub!
-
-
-
-
-
-
-
-
-
-
-
-
- 147
- Photos
-
-
-
-
-
-
-
-
- 63
- Bookmarks
-
-
-
-
-
-
-
-
-
-
- View latest project
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/style.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/theme/variables.scss
deleted file mode 100644
index 8172582..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactProfileDashboardUi/theme/variables.scss
+++ /dev/null
@@ -1,88 +0,0 @@
-.demo-react-profile-dashboard-ui {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- /** Ionic CSS Variables **/
- :root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-
- --ion-background-color: white;
- }
-
- ion-item,
- ion-toolbar,
- ion-header {
- --background: var(--ion-background-color);
- --color: white;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/AppPages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/AppPages/Tab1.tsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/AppPages/Tab1.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/AppPages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/AppPages/Tab2.tsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/AppPages/Tab2.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/NOTES.md
deleted file mode 100644
index c0b8228..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0155
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/Menu.css b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/Menu.css
deleted file mode 100644
index 0ca47a2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/Menu.css
+++ /dev/null
@@ -1,113 +0,0 @@
-ion-menu ion-content {
- --background: var(--ion-item-background, var(--ion-background-color, #fff));
-}
-
-ion-menu.md ion-content {
- --padding-start: 8px;
- --padding-end: 8px;
- --padding-top: 20px;
- --padding-bottom: 20px;
-}
-
-ion-menu.md ion-list {
- padding: 20px 0;
-}
-
-ion-menu.md ion-note {
- margin-bottom: 30px;
-}
-
-ion-menu.md ion-list-header, ion-menu.md ion-note {
- padding-left: 10px;
-}
-
-ion-menu.md ion-list#inbox-list {
- border-bottom: 1px solid var(--ion-color-step-150, #d7d8da);
-}
-
-ion-menu.md ion-list#inbox-list ion-list-header {
- font-size: 22px;
- font-weight: 600;
- min-height: 20px;
-}
-
-ion-menu.md ion-list#labels-list ion-list-header {
- font-size: 16px;
- margin-bottom: 18px;
- color: #757575;
- min-height: 26px;
-}
-
-ion-menu.md ion-item {
- --padding-start: 10px;
- --padding-end: 10px;
- border-radius: 4px;
-}
-
-ion-menu.md ion-item.selected {
- --background: rgba(var(--ion-color-primary-rgb), 0.14);
-}
-
-ion-menu.md ion-item.selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.md ion-item ion-icon {
- color: #616e7e;
-}
-
-ion-menu.md ion-item ion-label {
- font-weight: 500;
-}
-
-ion-menu.ios ion-content {
- --padding-bottom: 20px;
-}
-
-ion-menu.ios ion-list {
- padding: 20px 0 0 0;
-}
-
-ion-menu.ios ion-note {
- line-height: 24px;
- margin-bottom: 20px;
-}
-
-ion-menu.ios ion-item {
- --padding-start: 16px;
- --padding-end: 16px;
- --min-height: 50px;
-}
-
-ion-menu.ios ion-item ion-icon {
- font-size: 24px;
- color: #73849a;
-}
-
-ion-menu.ios ion-item .selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.ios ion-list#labels-list ion-list-header {
- margin-bottom: 8px;
-}
-
-ion-menu.ios ion-list-header,
-ion-menu.ios ion-note {
- padding-left: 16px;
- padding-right: 16px;
-}
-
-ion-menu.ios ion-note {
- margin-bottom: 8px;
-}
-
-ion-note {
- display: inline-block;
- font-size: 16px;
- color: var(--ion-color-medium-shade);
-}
-
-ion-item.selected {
- --color: var(--ion-color-primary);
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/Menu.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/Menu.tsx
deleted file mode 100644
index a8bba47..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/Menu.tsx
+++ /dev/null
@@ -1,67 +0,0 @@
-import {
- IonContent,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonListHeader,
- IonMenu,
- IonMenuToggle,
- IonNote,
-} from '@ionic/react';
-
-import { useLocation } from 'react-router-dom';
-import { bookmarkOutline, bookmarkSharp, homeOutline, homeSharp } from 'ionicons/icons';
-import './Menu.css';
-import { useStoreState } from 'pullstate';
-import { QuoteStore } from '../store';
-import { getSavedQuotes } from '../store/Selectors';
-
-const Menu = () => {
- const location = useLocation();
- const saved = useStoreState(QuoteStore, getSavedQuotes);
-
- const appPages = [
- {
- title: 'Home',
- url: '/home',
- iosIcon: homeOutline,
- mdIcon: homeSharp,
- },
- {
- title: `Bookmarks (${saved.length})`,
- url: '/saved',
- iosIcon: bookmarkOutline,
- mdIcon: bookmarkSharp,
- },
- ];
-
- return (
-
-
-
- Ionic Quotes
- hey there!
- {appPages.map((appPage, index) => {
- return (
-
-
-
- {appPage.title}
-
-
- );
- })}
-
-
-
- );
-};
-
-export default Menu;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/QuoteItem.module.css b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/QuoteItem.module.css
deleted file mode 100644
index 8baadf6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/QuoteItem.module.css
+++ /dev/null
@@ -1,21 +0,0 @@
-.quoteItem {
-
- --quote-item-background: rgb(49, 117, 226);
-
- border: 2px solid rgb(154, 204, 245);
- border-radius: 10px;
- --background: var(--quote-item-background);
- background: var(--quote-item-background);
- color: white;
- padding: 1rem;
-}
-
-.quoteText p {
-
- color: rgb(25, 51, 93);
-}
-
-.quoteText h1:hover {
-
- color: white;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/QuoteItem.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/QuoteItem.tsx
deleted file mode 100644
index 2154d3d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/components/QuoteItem.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { IonCol, IonItem, IonLabel } from '@ionic/react';
-import styles from './QuoteItem.module.css';
-
-export const QuoteItem = ({ quote }) => {
- return (
-
-
-
- {quote.text}
- {quote.author}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/index.tsx
deleted file mode 100644
index 185faa2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/index.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-
-import './style.scss';
-
-function DemoReactQuotes() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
- Dashboard
-
-
-
- Search
-
-
-
- );
-}
-
-export default DemoReactQuotes;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/pages/Home.tsx
deleted file mode 100644
index 456cc25..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/pages/Home.tsx
+++ /dev/null
@@ -1,71 +0,0 @@
-import {
- IonButtons,
- IonContent,
- IonGrid,
- IonHeader,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonList,
- IonMenuButton,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { useState } from 'react';
-import { QuoteItem } from '../components/QuoteItem';
-import { QuoteStore } from '../store';
-import { getQuotes } from '../store/Selectors';
-
-const Home = () => {
- const quotes = useStoreState(QuoteStore, getQuotes);
- const [amountLoaded, setAmountLoaded] = useState(20);
-
- const fetchMore = async (e) => {
- setAmountLoaded((amountLoaded) => amountLoaded + 20);
- e.target.complete();
- };
-
- return (
-
-
-
-
-
-
- Home
-
-
-
-
-
-
- Home
-
-
-
-
-
-
- {quotes.map((quote, index) => {
- if (index <= amountLoaded && quote.author) {
- return ;
- } else return '';
- })}
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/pages/Quote.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/pages/Quote.tsx
deleted file mode 100644
index fdc54b4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/pages/Quote.tsx
+++ /dev/null
@@ -1,102 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonImg,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonToast,
-} from '@ionic/react';
-import { bookmarkOutline, checkmarkOutline, copyOutline } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { useEffect, useState } from 'react';
-import { useParams } from 'react-router';
-import { QuoteStore } from '../store';
-import { addSavedQuote, removeSavedQuote } from '../store/QuoteStore';
-import { getQuote, getSavedQuotes } from '../store/Selectors';
-
-import { Clipboard } from '@capacitor/clipboard';
-
-const Quote = () => {
- const { id } = useParams();
- const quote = useStoreState(QuoteStore, getQuote(id));
- const saved = useStoreState(QuoteStore, getSavedQuotes);
- const [bookmarked, setBookmarked] = useState(false);
-
- const [present] = useIonToast();
-
- useEffect(() => {
- setBookmarked(saved.includes(parseInt(id)));
- }, [saved, id]);
-
- const copyQuote = async () => {
- await Clipboard.write({
- string: quote.text,
- });
-
- present({
- header: 'Success',
- message: 'Quote copied to clipboard!',
- duration: 2500,
- color: 'primary',
- });
- };
-
- return (
-
-
-
-
-
-
- Quote
-
-
-
-
-
-
- Quote
-
-
-
-
-
-
- {quote.text}
- - {quote.author}
-
-
-
-
- (bookmarked ? removeSavedQuote(quote.id) : addSavedQuote(quote.id))}
- >
-
- {bookmarked ? 'Bookmarked' : 'Save as Bookmark'}
-
-
-
-
-
-
- Copy Quote
-
-
-
-
-
-
- );
-};
-
-export default Quote;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/pages/Saved.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/pages/Saved.tsx
deleted file mode 100644
index 9b6e340..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/pages/Saved.tsx
+++ /dev/null
@@ -1,83 +0,0 @@
-import {
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonInfiniteScroll,
- IonInfiniteScrollContent,
- IonList,
- IonMenuButton,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { useState } from 'react';
-import { QuoteItem } from '../components/QuoteItem';
-import { QuoteStore } from '../store';
-import { getQuotes, getSavedQuotes } from '../store/Selectors';
-
-const Saved = () => {
- const quotes = useStoreState(QuoteStore, getQuotes);
- const saved = useStoreState(QuoteStore, getSavedQuotes);
- const [amountLoaded, setAmountLoaded] = useState(20);
-
- const fetchMore = async (e) => {
- setAmountLoaded((amountLoaded) => amountLoaded + 20);
- e.target.complete();
- };
-
- return (
-
-
-
-
-
-
- Bookmarks
-
-
-
-
-
-
- Bookmarks
-
-
-
-
- {quotes.length > 0 && (
-
-
- {quotes.map((quote, index) => {
- if (index <= amountLoaded && saved.includes(parseInt(quote.id))) {
- return ;
- } else return '';
- })}
-
-
-
-
-
-
- )}
-
- {quotes.length < 1 && (
-
-
- You haven't saved any bookmarks yet.
-
-
- )}
-
-
-
- );
-};
-
-export default Saved;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/store/QuoteStore.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/store/QuoteStore.tsx
deleted file mode 100644
index 87d0d15..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/store/QuoteStore.tsx
+++ /dev/null
@@ -1,34 +0,0 @@
-import { Store } from 'pullstate';
-
-const QuoteStore = new Store({
- quotes: [],
- saved: [],
-});
-
-export default QuoteStore;
-
-export const addSavedQuote = (id) => {
- QuoteStore.update((s) => {
- s.saved = [...s.saved, id];
- });
-};
-
-export const removeSavedQuote = (id) => {
- QuoteStore.update((s) => {
- s.saved = s.saved.filter((savedId) => parseInt(savedId) !== parseInt(id));
- });
-};
-
-export const fetchQuotes = async () => {
- const response = await fetch('https://type.fit/api/quotes');
- const data = await response.json();
-
- await data.filter((quote, index) => {
- quote.id = Date.now() + index;
- quote.image = `https://source.unsplash.com/random/1200x400?sig=${quote.id}`;
- });
-
- QuoteStore.update((s) => {
- s.quotes = data;
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/store/Selectors.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/store/Selectors.tsx
deleted file mode 100644
index ac9aeae..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/store/Selectors.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getQuotes = createSelector(getState, (state) => state.quotes);
-export const getSavedQuotes = createSelector(getState, (state) => state.saved);
-
-// Specific getters
-export const getQuote = (id) =>
- createSelector(
- getState,
- (state) => state.quotes.filter((q) => parseInt(q.id) === parseInt(id))[0]
- );
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/store/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/store/index.tsx
deleted file mode 100644
index 71a69f1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/store/index.tsx
+++ /dev/null
@@ -1 +0,0 @@
-export { default as QuoteStore } from './QuoteStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/theme/variables.css
deleted file mode 100644
index 088e83c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactQuotes/theme/variables.css
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-:root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/Categories.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/Categories.jsx
deleted file mode 100644
index 092cfb1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/Categories.jsx
+++ /dev/null
@@ -1,89 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonLabel,
- IonNote,
- IonPage,
- IonRouterLink,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import {
- checkmarkOutline,
- chevronBackOutline,
- chevronDownCircleOutline,
- closeOutline,
- heart,
- languageOutline,
- menuOutline,
-} from 'ionicons/icons';
-import { capitalize, productInfo } from '../utils';
-
-const Categories = () => {
- const categories = Object.keys(productInfo);
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
-
-
-
-
- Ionic Shop
-
-
-
-
-
-
- ionic
- shop
-
-
-
-
-
- {categories.map((category, idx) => (
-
-
-
-
- {capitalize(category)}
-
-
-
-
- // {capitalize(c)}
- ))}
-
-
-
- );
-};
-
-export default Categories;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/Categories.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactShop/Categories.module.scss
deleted file mode 100644
index 4bec6bc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/Categories.module.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-.categoryContainer {
- display: flex;
- color: white;
-}
-
-.categoryContainer p {
- display: flex;
- justify-items: center;
- justify-content: center;
- position: absolute;
-
- background-color: rgba(0, 0, 0, 0.4);
- width: 50%;
- padding-top: 0.5rem;
- padding-bottom: 0.5rem;
- margin: 0 auto;
- font-size: 2rem;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/Category.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/Category.jsx
deleted file mode 100644
index b87dc0c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/Category.jsx
+++ /dev/null
@@ -1,68 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonLabel,
- IonNote,
- IonPage,
- IonRouterLink,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { chevronBack } from 'ionicons/icons';
-import { useParams } from 'react-router';
-import { capitalize, productInfo } from '../utils';
-
-import styles from './Categories.module.scss';
-
-const Category = () => {
- const router = useIonRouter();
- const { category } = useParams();
- const productTypes = Object.keys(productInfo[category].productTypes);
-
- return (
-
-
-
-
- router.goBack()}>
-
- Back
-
-
- {category}
-
-
-
-
-
-
- shop
- {category}
-
-
-
-
-
- {productTypes.map((product) => (
-
-
-
-
{capitalize(product)}
-
-
- ))}
-
-
-
- );
-};
-
-export default Category;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/Favourites.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/Favourites.jsx
deleted file mode 100644
index 469b44b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/Favourites.jsx
+++ /dev/null
@@ -1,102 +0,0 @@
-import {
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonImg,
- IonLabel,
- IonPage,
- IonRow,
- IonText,
- IonTitle,
- IonToolbar,
- useIonModal,
-} from '@ionic/react';
-import { heartOutline } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { useState } from 'react';
-import { ProductModal } from './components/ProductModal';
-import { FavouritesStore } from './store';
-import { getFavourites } from './store/Selectors';
-
-const Favourites = () => {
- const favourites = useStoreState(FavouritesStore, getFavourites);
-
- const [selectedProduct, setSelectedProduct] = useState([]);
- const [presentProductModal, dismissProductModal] = useIonModal(ProductModal, {
- dismiss: () => dismissProductModal(),
- product: selectedProduct,
- });
-
- const handleProductModal = (product) => {
- setSelectedProduct(product);
- presentProductModal();
- };
-
- return (
-
-
-
- Favourites
-
-
-
-
-
- Favourites
-
-
-
-
-
- {favourites.map((product, index) => {
- if (
- product.image !== null &&
- product.image !== '' &&
- !product.image.includes('Placeholder')
- ) {
- return (
- handleProductModal(product)}
- key={index}
- size="6"
- sizeXs="6"
- sizeSm="3"
- sizeMd="3"
- sizeXl="2"
- >
-
-
- {product.title}
- {product.price}
-
-
- );
- } else return null;
- })}
-
-
- {favourites.length === 0 && (
-
-
-
- No favourites yet
-
-
-
-
- Add some by clicking the icon on
- a product
-
-
-
-
- )}
-
-
-
- );
-};
-
-export default Favourites;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/Helloworld.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/Helloworld.tsx
deleted file mode 100644
index 87413ac..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/Helloworld.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-// REQ0041/home_discover_event_tab
-
-import {
- IonPage,
- IonHeader,
- IonToolbar,
- IonButtons,
- IonButton,
- IonIcon,
- IonTitle,
- IonContent,
-} from '@ionic/react';
-import { menuOutline } from 'ionicons/icons';
-import React, { useEffect, useRef, useState } from 'react';
-import './style.scss';
-
-const Helloworld: React.FC = () => {
- return (
-
-
-
-
- {/* */}
-
-
-
-
- Discover Events
-
-
-
- Helloworld
-
- );
-};
-
-export default Helloworld;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/MainTabs.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/MainTabs.tsx
deleted file mode 100644
index 76d66d8..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/MainTabs.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-// REQ0116/main-tab
-
-import React from 'react';
-import { IonTabs, IonRouterOutlet, IonTabBar, IonTabButton, IonIcon, IonLabel } from '@ionic/react';
-import { Route, Redirect } from 'react-router';
-import { calendar, location, informationCircle, people } from 'ionicons/icons';
-import SchedulePage from '../SchedulePage';
-import SpeakerList from '../SpeakerList';
-import SpeakerDetail from '../SpeakerDetail';
-import SessionDetail from '../SessionDetail';
-import MapView from '../MapView';
-import About from '../About';
-import EventList from '../EventList';
-import MembersNearByList from '../MembersNearByList';
-import OrderList from '../OrderList';
-import MyProfile from '../MyProfile';
-import MessageList from '../MessageList';
-import PATHS from '../../PATHS';
-import Favourites from '../Favourites';
-import TabAppRoute from '../../TabAppRoute';
-
-interface MainTabsProps {}
-
-const MainTabs: React.FC = () => {
- return (
-
-
- {/* REQ0117/default-route */}
-
- {/*
- Using the render method prop cuts down the number of renders your components will have due to route changes.
- Use the component prop when your component depends on the RouterComponentProps passed in automatically.
- */}
- } exact={true} />
- } exact={true} />
-
-
-
-
- } exact={true} />
-
- } exact={true} />
-
- {/* */}
-
-
- {/* */}
-
- {/*
-
-
- Speakers
-
- */}
-
-
-
- Event
-
-
-
- Nearby
-
-
-
- Order
-
-
-
- Message
-
-
-
- Profile
-
-
-
- );
-};
-
-export default MainTabs;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactShop/NOTES.md
deleted file mode 100644
index f4aaefb..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0156
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/ProductType.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/ProductType.jsx
deleted file mode 100644
index e2bccd0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/ProductType.jsx
+++ /dev/null
@@ -1,211 +0,0 @@
-import {
- IonBreadcrumb,
- IonBreadcrumbs,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonImg,
- IonLabel,
- IonNote,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
- useIonModal,
- useIonRouter,
-} from '@ionic/react';
-import { chevronBack, filter } from 'ionicons/icons';
-import { useRef } from 'react';
-import { useEffect, useState } from 'react';
-import { useParams } from 'react-router';
-import { FilterModal } from './components/FilterModal';
-import { ProductModal } from './components/ProductModal';
-import { capitalize, productInfo } from '../utils';
-
-const ProductType = () => {
- const router = useIonRouter();
- const { category, type } = useParams();
- const productsRef = useRef(null);
-
- const [products, setProducts] = useState([]);
- const [filteredProducts, setFilteredProducts] = useState([]);
- const [filterCriteria, setFilterCriteria] = useState('None');
-
- const filters = productInfo[category].productTypes[type].filters;
- const searchPlaceholder = productInfo[category].productTypes[type].searchPlaceholder;
-
- const [selectedProduct, setSelectedProduct] = useState([]);
- const [presentProductModal, dismissProductModal] = useIonModal(ProductModal, {
- dismiss: () => dismissProductModal(),
- category,
- type,
- product: selectedProduct,
- });
-
- const handleProductModal = (product) => {
- setSelectedProduct(product);
- presentProductModal();
- };
-
- const [present, dismiss] = useIonModal(FilterModal, {
- dismiss: () => dismiss(),
-
- filterCriteria,
- setFilterCriteria,
- productsRef,
- filters,
- });
-
- useEffect(() => {
- const getProducts = async () => {
- const response = await fetch(`/data/${category}/${type}.json`);
- const data = await response.json();
- setProducts(data);
- setFilteredProducts(data);
- };
-
- getProducts();
- }, [category, type]);
-
- const openModal = () => {
- present({
- breakpoints: [0, 0.25],
- initialBreakpoint: 0.25,
- backdropBreakpoint: 0,
- });
- };
-
- const performSearch = (e) => {
- const searchCriteria = e.target.value.toLowerCase();
- let tempFilteredProducts = [...products];
-
- if (searchCriteria !== '') {
- tempFilteredProducts = tempFilteredProducts.filter((product) =>
- product.title.toLowerCase().includes(searchCriteria)
- );
- setFilteredProducts(tempFilteredProducts);
- } else {
- setFilteredProducts(products);
- }
- };
-
- return (
-
-
-
-
- router.goBack()}>
-
- Back
-
-
- {capitalize(type)}
-
-
-
-
-
-
- shop
- {category}
-
-
-
-
-
-
-
-
- {capitalize(category)}
-
-
- {capitalize(type)}
-
- {filterCriteria !== 'None' && (
-
-
- {filterCriteria}
-
- )}
-
-
-
-
-
-
- Filter
-
-
-
-
- performSearch(e)}
- />
-
-
-
- {filteredProducts.map((product, index) => {
- if (
- product.image !== null &&
- product.image !== '' &&
- !product.image.includes('Placeholder')
- ) {
- return (
- handleProductModal(product)}
- key={index}
- size="6"
- sizeXs="6"
- sizeSm="3"
- sizeMd="3"
- sizeXl="2"
- style={{
- display:
- (filterCriteria !== 'None' &&
- product.title.toLowerCase().includes(filterCriteria.toLowerCase())) ||
- filterCriteria === 'None'
- ? 'block'
- : 'none',
- }}
- >
-
-
- {product.title}
- {product.price}
-
-
- );
- } else return null;
- })}
-
-
-
-
- );
-};
-
-export default ProductType;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/AddToCartButton.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/AddToCartButton.jsx
deleted file mode 100644
index 8a86ec1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/AddToCartButton.jsx
+++ /dev/null
@@ -1,50 +0,0 @@
-import { CreateAnimation, IonButton, IonIcon } from '@ionic/react';
-import { cartOutline } from 'ionicons/icons';
-import { useRef, useState } from 'react';
-import { addToCart } from '../store/CartStore';
-
-export const AddToCartButton = ({ product }) => {
- const animationRef = useRef(null);
- const [hidden, setHidden] = useState(true);
-
- const floatStyle = {
- display: hidden ? 'none' : '',
- position: 'absolute',
- };
-
- const floatGrowAnimation = {
- property: 'transform',
- fromValue: 'translateY(0) scale(1)',
- toValue: 'translateY(-55px) scale(1.5)',
- };
-
- const colorAnimation = {
- property: 'color',
- fromValue: 'green',
- toValue: 'green',
- };
-
- const mainAnimation = {
- duration: 1500,
- iterations: '1',
- fromTo: [floatGrowAnimation, colorAnimation],
- easing: 'cubic-bezier(0.25, 0.7, 0.25, 0.7)',
- };
-
- const handleAddToCart = async (product) => {
- setHidden(false);
- await animationRef.current.animation.play();
- setHidden(true);
- addToCart(product);
- };
-
- return (
- handleAddToCart(product)}>
-
- Add to Cart
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/Breadcrumbs.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/Breadcrumbs.jsx
deleted file mode 100644
index 5084260..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/Breadcrumbs.jsx
+++ /dev/null
@@ -1,20 +0,0 @@
-import { IonBreadcrumb, IonBreadcrumbs, IonIcon } from '@ionic/react';
-import { fastFoodOutline } from 'ionicons/icons';
-import { useState } from 'react';
-
-export const Breadcrumbs = () => {
- const [maxItems, setMaxItems] = useState(2);
-
- const handleClick = () => {
- setMaxItems(undefined);
- };
-
- return (
-
- Page 1
- Page 2
- Page 3
- Page 4
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/CartModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/CartModal.jsx
deleted file mode 100644
index 7aa1178..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/CartModal.jsx
+++ /dev/null
@@ -1,109 +0,0 @@
-import { useStoreState } from 'pullstate';
-import { useEffect, useState } from 'react';
-import { CartStore } from '../store';
-import { addToCart } from '../store/CartStore';
-import { getCart } from '../store/Selectors';
-
-const {
- IonPage,
- IonHeader,
- IonToolbar,
- IonTitle,
- IonButtons,
- IonIcon,
- IonContent,
- IonGrid,
- IonRow,
- IonItem,
- IonLabel,
- IonText,
- IonThumbnail,
- IonFooter,
- IonCol,
- IonButton,
- IonItemSliding,
- IonItemOptions,
- IonItemOption,
-} = require('@ionic/react');
-const { close } = require('ionicons/icons');
-
-export const CartModal = (props) => {
- const cart = useStoreState(CartStore, getCart);
- const [totalPrice, setTotalPrice] = useState(0);
-
- useEffect(() => {
- let total = 0;
- cart.forEach((item) => (total += parseInt(item.price.replace('£', ''))));
- setTotalPrice(total);
- }, [cart]);
-
- return (
-
-
-
- Cart
-
-
-
-
-
-
-
-
-
-
- {cart.length} products in your cart
-
- Review products and checkout
-
-
-
-
-
-
- {cart.map((item, index) => (
-
-
-
-
-
-
- {item.title}
- {item.price}
-
-
-
-
- addToCart(item)}>
- Remove
-
-
-
- ))}
-
-
-
-
-
- Total
-
-
-
- £{totalPrice.toFixed(2)}
-
-
-
- Checkout →
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/FilterModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/FilterModal.jsx
deleted file mode 100644
index 78d1966..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/FilterModal.jsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-
-export const FilterModal = ({
- productsRef,
- filterCriteria,
- setFilterCriteria,
- dismiss,
- filters,
-}) => {
- const filterProducts = async (filter) => {
- await productsRef.current.classList.add('animate__fadeOutLeft');
-
- setTimeout(() => {
- productsRef.current.classList.remove('animate__fadeOutLeft');
- productsRef.current.classList.add('animate__fadeInRight');
- setFilterCriteria(filter);
- }, 500);
- dismiss();
- };
-
- return (
-
-
-
- Filter
-
-
-
-
- {filters.map((f) => (
-
- filterProducts(f)}
- >
- {f}
-
-
- ))}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductModal.css b/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductModal.css
deleted file mode 100644
index 8884088..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductModal.css
+++ /dev/null
@@ -1,88 +0,0 @@
-ion-card {
- margin: 0;
- /* margin-top: var(--ion-safe-area-top); */
- z-index: -1;
-
- border-radius: 0px;
-
- background-size: cover;
- background-position: center;
- background-repeat: no-repeat;
- box-shadow: none;
- aspect-ratio: 1 / 1;
-}
-
-@supports not (aspect-ratio: 1 / 1) {
- ion-card::before {
- float: left;
- padding-top: 100%;
- content: '';
- }
-
- ion-card::after {
- display: block;
- content: '';
- clear: both;
- }
-}
-
-ion-card-header {
- position: absolute;
- bottom: 0;
- width: 100%;
-
- /* background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%); */
- background: rgba(0, 0, 0, 0.5)
-}
-
-ion-card-title,
-ion-card-subtitle {
- color: white;
-}
-
-ion-card-header ion-card-title {
-
- margin: 0 0 6px 0;
- font-size: 22px;
-}
-
-ion-card-header ion-card-subtitle {
-
- text-transform: none;
- font-weight: 500;
- font-size: 16px;
-}
-
-ion-card-content {
- height: calc(60px + var(--ion-safe-area-top));
- background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
-}
-
-#close-button {
- position: fixed;
-
- top: max(var(--ion-safe-area-top), 16px);
- right: 8px;
-}
-
-#fave-button {
- position: fixed;
-
- top: max(var(--ion-safe-area-top), 16px);
- left: 8px;
-}
-
-#product-view-buttons {
-
- z-index: 10;
- background: linear-gradient(360deg, rgba(0, 0, 0, 0) 0%, rgba(82, 82, 82, 0.9) 100%) !important;
- position: absolute;
- width: 100%;
- height: 4rem;
-}
-
-.sticky-bottom {
-
- position: fixed;
- bottom: 0;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductModal.jsx
deleted file mode 100644
index 0cce85d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductModal.jsx
+++ /dev/null
@@ -1,100 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCard,
- IonCardHeader,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonFooter,
- IonIcon,
- IonLabel,
- IonNote,
- IonRow,
- IonText,
- IonToolbar,
-} from '@ionic/react';
-import { closeCircle, heart, heartOutline } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { useRef } from 'react';
-
-import { checkFavourites } from '../store/Selectors';
-import { addToFavourites } from '../store/FavouritesStore';
-import { FavouritesStore } from '../store';
-
-import './ProductModal.css';
-import { ProductReviews } from './ProductReviews';
-import { ProductSpecificationsAccordion } from './ProductSpecificationsAccordion';
-import { AddToCartButton } from './AddToCartButton';
-
-export const ProductModal = (props) => {
- const { dismiss, category = false, product } = props;
- const isFavourite = useStoreState(FavouritesStore, checkFavourites(product));
- const contentRef = useRef(null);
-
- return (
- <>
-
-
-
-
-
-
- addToFavourites(product, category)}
- id="fave-button"
- >
-
-
-
-
-
-
- {product.title}
- {product.price}
-
-
-
-
-
-
-
- shop
- {category ? category : 'Favourite'}
-
-
-
-
-
-
Product Description
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam elit felis, molestie id
- venenatis at, commodo ac tortor. Pellentesque tempus aliquet purus, sed vulputate elit
- tempus ut.
-
-
-
Product Specifications
-
-
-
-
-
-
-
-
-
- {product.price}
-
-
-
-
-
-
-
-
-
- >
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductReviews.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductReviews.jsx
deleted file mode 100644
index 5c0a1d0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductReviews.jsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { IonCol, IonIcon, IonNote } from '@ionic/react';
-import { star } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-import { randomCount } from '../utils';
-
-export const ProductReviews = () => {
- // This count could come from the product (if real data was fed)
- const [reviewCount, setReviewCount] = useState(0);
-
- useEffect(() => {
- setReviewCount(randomCount());
- }, []);
-
- return (
-
-
-
-
- {reviewCount} review{reviewCount > 1 && 's'}
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductSpecificationsAccordion.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductSpecificationsAccordion.jsx
deleted file mode 100644
index 8db025a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/components/ProductSpecificationsAccordion.jsx
+++ /dev/null
@@ -1,53 +0,0 @@
-import { IonAccordion, IonAccordionGroup, IonItem, IonLabel, IonList, IonNote } from '@ionic/react';
-import { useRef } from 'react';
-import { productSpecs } from '../utils';
-
-export const ProductSpecificationsAccordion = ({ type, contentRef }) => {
- const accordionGroupRef = useRef(null);
-
- const log = () => {
- const selectedAccordion = accordionGroupRef.current.value;
-
- if (selectedAccordion) {
- setTimeout(() => contentRef.current.scrollToBottom(400), 200);
- }
- };
-
- return (
-
- {Object.keys(productSpecs).map((spec, index) => {
- const { header, options, wrapText = false, noteColor = false } = productSpecs[spec];
-
- return (
-
-
- {header}
-
-
-
- {options.map((option, index2) => {
- const { label, value } = option;
-
- return (
-
-
- {label}
-
-
-
- {noteColor ? (value ? 'In stock' : 'Out of stock') : value}
-
-
-
- );
- })}
-
-
- );
- })}
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactShop/index.tsx
deleted file mode 100644
index 71c1604..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/index.tsx
+++ /dev/null
@@ -1,129 +0,0 @@
-// REQ0116/main-tab
-
-import React, { useRef, useState } from 'react';
-import {
- IonTabs,
- IonRouterOutlet,
- IonTabBar,
- IonTabButton,
- IonIcon,
- IonLabel,
- IonModal,
-} from '@ionic/react';
-import { Route, Redirect } from 'react-router';
-import { calendar, location, informationCircle, people } from 'ionicons/icons';
-import SchedulePage from '../SchedulePage';
-import SpeakerList from '../SpeakerList';
-import SpeakerDetail from '../SpeakerDetail';
-import SessionDetail from '../SessionDetail';
-import MapView from '../MapView';
-import About from '../About';
-import PATHS from '../../PATHS';
-import TabAppRoute from '../../TabAppRoute';
-import { CartStore } from './store';
-import { getCartCount } from './store/Selectors';
-import { CartModal } from './components/CartModal';
-
-interface MainTabsProps {}
-
-const DemoReactShop: React.FC = () => {
- const cartCount = useStoreState(CartStore, getCartCount);
- const [selected, setSelected] = useState('tab0');
- const [open, setOpen] = useState(false);
- const ref = useRef(null);
-
- const handleClick = (tab) => {
- tab === 'tabCart' ? setOpen(true) : setSelected(tab);
- };
-
- return (
-
-
- {ReactShopPages.map((page, index) => (
-
- ))}
-
- {/*
-
- p.default)[0].href} />
-
- */}
-
-
- {/* */}
-
-
- {ReactShopPages.map((page, index) => {
- const isSelected = selected === `tab${index}`;
-
- if (page.isTab) {
- return (
-
-
- {isSelected &&
}
-
- );
- } else return null;
- })}
-
-
-
- {cartCount}
-
-
-
- {/* setOpen(false)}> */}
- {/* setOpen(false)} /> */}
- {/* */}
-
- );
-};
-
-export default DemoReactShop;
-
-import { cartOutline, heartOutline, homeOutline, shirtOutline } from 'ionicons/icons';
-
-import Categories from './Categories';
-import Favourites from './Favourites';
-import ProductType from './ProductType';
-import Category from './Category';
-import { useStoreState } from 'pullstate';
-
-export const ReactShopPages = [
- {
- href: '/categories',
- icon: shirtOutline,
- component: Categories,
- default: true,
- isTab: true,
- },
- {
- href: '/categories/:category/:type',
- component: ProductType,
- default: false,
- isTab: false,
- },
- {
- href: '/categories/:category',
- icon: shirtOutline,
- component: Category,
- default: true,
- isTab: false,
- },
- {
- href: '/favourites',
- icon: heartOutline,
- component: Favourites,
- default: false,
- isTab: true,
- },
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/CartStore.js b/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/CartStore.js
deleted file mode 100644
index ee30210..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/CartStore.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Store } from 'pullstate';
-
-const CartStore = new Store({
- cart: [],
-});
-
-export default CartStore;
-
-export const addToCart = (product) => {
- const currentCart = CartStore.getRawState().cart;
- const added = !currentCart.includes(product);
-
- CartStore.update((s) => {
- if (currentCart.includes(product)) {
- s.cart = currentCart.filter((current) => current !== product);
- } else {
- s.cart = [...s.cart, product];
- }
- });
-
- return added;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/FavouritesStore.js b/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/FavouritesStore.js
deleted file mode 100644
index f33f0ba..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/FavouritesStore.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import { Store } from 'pullstate';
-
-const FavouritesStore = new Store({
- favourites: [],
-});
-
-export default FavouritesStore;
-
-export const checkIfFavourite = (product) => {
- const currentFavourites = FavouritesStore.getRawState().favourites;
- const isFavourite = currentFavourites.includes(product);
-
- return isFavourite;
-};
-
-export const addToFavourites = (product, category) => {
- const currentFavourites = FavouritesStore.getRawState().favourites;
- const added = !currentFavourites.includes(product);
-
- FavouritesStore.update((s) => {
- if (!added) {
- s.favourites = currentFavourites.filter((current) => current !== product);
- } else {
- s.favourites = [...s.favourites, product];
- }
- });
-
- return added;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/Selectors.js
deleted file mode 100644
index c5073f7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/Selectors.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getFavourites = createSelector(getState, (state) => state.favourites);
-export const checkFavourites = (product) =>
- createSelector(getState, (state) => state.favourites.includes(product));
-export const getCart = createSelector(getState, (state) => state.cart);
-export const getCartCount = createSelector(getState, (state) => state.cart.length);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/index.js
deleted file mode 100644
index bbd2f01..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/store/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as FavouritesStore } from './FavouritesStore';
-export { default as CartStore } from './CartStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShop/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactShop/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShop/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/NOTES.md
deleted file mode 100644
index 2e247b7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0157
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/AddToCartButton.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/AddToCartButton.jsx
deleted file mode 100644
index ea99dd2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/AddToCartButton.jsx
+++ /dev/null
@@ -1,50 +0,0 @@
-import { CreateAnimation, IonButton, IonIcon } from '@ionic/react';
-import { cartOutline } from 'ionicons/icons';
-import { useRef, useState } from 'react';
-import { addToCart } from '../store/CartStore';
-
-export const AddToCartButton = ({ product }) => {
- const animationRef = useRef();
- const [hidden, setHidden] = useState(true);
-
- const floatStyle = {
- display: hidden ? 'none' : '',
- position: 'absolute',
- };
-
- const floatGrowAnimation = {
- property: 'transform',
- fromValue: 'translateY(0) scale(1)',
- toValue: 'translateY(-55px) scale(1.5)',
- };
-
- const colorAnimation = {
- property: 'color',
- fromValue: 'green',
- toValue: 'green',
- };
-
- const mainAnimation = {
- duration: 1500,
- iterations: '1',
- fromTo: [floatGrowAnimation, colorAnimation],
- easing: 'cubic-bezier(0.25, 0.7, 0.25, 0.7)',
- };
-
- const handleAddToCart = async (product) => {
- setHidden(false);
- await animationRef.current.animation.play();
- setHidden(true);
- addToCart(product);
- };
-
- return (
- handleAddToCart(product)}>
-
- Add to Cart
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/Breadcrumbs.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/Breadcrumbs.jsx
deleted file mode 100644
index 5084260..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/Breadcrumbs.jsx
+++ /dev/null
@@ -1,20 +0,0 @@
-import { IonBreadcrumb, IonBreadcrumbs, IonIcon } from '@ionic/react';
-import { fastFoodOutline } from 'ionicons/icons';
-import { useState } from 'react';
-
-export const Breadcrumbs = () => {
- const [maxItems, setMaxItems] = useState(2);
-
- const handleClick = () => {
- setMaxItems(undefined);
- };
-
- return (
-
- Page 1
- Page 2
- Page 3
- Page 4
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/CartModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/CartModal.jsx
deleted file mode 100644
index 7aa1178..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/CartModal.jsx
+++ /dev/null
@@ -1,109 +0,0 @@
-import { useStoreState } from 'pullstate';
-import { useEffect, useState } from 'react';
-import { CartStore } from '../store';
-import { addToCart } from '../store/CartStore';
-import { getCart } from '../store/Selectors';
-
-const {
- IonPage,
- IonHeader,
- IonToolbar,
- IonTitle,
- IonButtons,
- IonIcon,
- IonContent,
- IonGrid,
- IonRow,
- IonItem,
- IonLabel,
- IonText,
- IonThumbnail,
- IonFooter,
- IonCol,
- IonButton,
- IonItemSliding,
- IonItemOptions,
- IonItemOption,
-} = require('@ionic/react');
-const { close } = require('ionicons/icons');
-
-export const CartModal = (props) => {
- const cart = useStoreState(CartStore, getCart);
- const [totalPrice, setTotalPrice] = useState(0);
-
- useEffect(() => {
- let total = 0;
- cart.forEach((item) => (total += parseInt(item.price.replace('£', ''))));
- setTotalPrice(total);
- }, [cart]);
-
- return (
-
-
-
- Cart
-
-
-
-
-
-
-
-
-
-
- {cart.length} products in your cart
-
- Review products and checkout
-
-
-
-
-
-
- {cart.map((item, index) => (
-
-
-
-
-
-
- {item.title}
- {item.price}
-
-
-
-
- addToCart(item)}>
- Remove
-
-
-
- ))}
-
-
-
-
-
- Total
-
-
-
- £{totalPrice.toFixed(2)}
-
-
-
- Checkout →
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/FilterModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/FilterModal.jsx
deleted file mode 100644
index 78d1966..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/FilterModal.jsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-
-export const FilterModal = ({
- productsRef,
- filterCriteria,
- setFilterCriteria,
- dismiss,
- filters,
-}) => {
- const filterProducts = async (filter) => {
- await productsRef.current.classList.add('animate__fadeOutLeft');
-
- setTimeout(() => {
- productsRef.current.classList.remove('animate__fadeOutLeft');
- productsRef.current.classList.add('animate__fadeInRight');
- setFilterCriteria(filter);
- }, 500);
- dismiss();
- };
-
- return (
-
-
-
- Filter
-
-
-
-
- {filters.map((f) => (
-
- filterProducts(f)}
- >
- {f}
-
-
- ))}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductModal.css b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductModal.css
deleted file mode 100644
index 8884088..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductModal.css
+++ /dev/null
@@ -1,88 +0,0 @@
-ion-card {
- margin: 0;
- /* margin-top: var(--ion-safe-area-top); */
- z-index: -1;
-
- border-radius: 0px;
-
- background-size: cover;
- background-position: center;
- background-repeat: no-repeat;
- box-shadow: none;
- aspect-ratio: 1 / 1;
-}
-
-@supports not (aspect-ratio: 1 / 1) {
- ion-card::before {
- float: left;
- padding-top: 100%;
- content: '';
- }
-
- ion-card::after {
- display: block;
- content: '';
- clear: both;
- }
-}
-
-ion-card-header {
- position: absolute;
- bottom: 0;
- width: 100%;
-
- /* background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.7) 100%); */
- background: rgba(0, 0, 0, 0.5)
-}
-
-ion-card-title,
-ion-card-subtitle {
- color: white;
-}
-
-ion-card-header ion-card-title {
-
- margin: 0 0 6px 0;
- font-size: 22px;
-}
-
-ion-card-header ion-card-subtitle {
-
- text-transform: none;
- font-weight: 500;
- font-size: 16px;
-}
-
-ion-card-content {
- height: calc(60px + var(--ion-safe-area-top));
- background: linear-gradient(0deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
-}
-
-#close-button {
- position: fixed;
-
- top: max(var(--ion-safe-area-top), 16px);
- right: 8px;
-}
-
-#fave-button {
- position: fixed;
-
- top: max(var(--ion-safe-area-top), 16px);
- left: 8px;
-}
-
-#product-view-buttons {
-
- z-index: 10;
- background: linear-gradient(360deg, rgba(0, 0, 0, 0) 0%, rgba(82, 82, 82, 0.9) 100%) !important;
- position: absolute;
- width: 100%;
- height: 4rem;
-}
-
-.sticky-bottom {
-
- position: fixed;
- bottom: 0;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductModal.jsx
deleted file mode 100644
index 0cce85d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductModal.jsx
+++ /dev/null
@@ -1,100 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCard,
- IonCardHeader,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonFooter,
- IonIcon,
- IonLabel,
- IonNote,
- IonRow,
- IonText,
- IonToolbar,
-} from '@ionic/react';
-import { closeCircle, heart, heartOutline } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { useRef } from 'react';
-
-import { checkFavourites } from '../store/Selectors';
-import { addToFavourites } from '../store/FavouritesStore';
-import { FavouritesStore } from '../store';
-
-import './ProductModal.css';
-import { ProductReviews } from './ProductReviews';
-import { ProductSpecificationsAccordion } from './ProductSpecificationsAccordion';
-import { AddToCartButton } from './AddToCartButton';
-
-export const ProductModal = (props) => {
- const { dismiss, category = false, product } = props;
- const isFavourite = useStoreState(FavouritesStore, checkFavourites(product));
- const contentRef = useRef(null);
-
- return (
- <>
-
-
-
-
-
-
- addToFavourites(product, category)}
- id="fave-button"
- >
-
-
-
-
-
-
- {product.title}
- {product.price}
-
-
-
-
-
-
-
- shop
- {category ? category : 'Favourite'}
-
-
-
-
-
-
Product Description
-
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam elit felis, molestie id
- venenatis at, commodo ac tortor. Pellentesque tempus aliquet purus, sed vulputate elit
- tempus ut.
-
-
-
Product Specifications
-
-
-
-
-
-
-
-
-
- {product.price}
-
-
-
-
-
-
-
-
-
- >
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductReviews.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductReviews.jsx
deleted file mode 100644
index 5c0a1d0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductReviews.jsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { IonCol, IonIcon, IonNote } from '@ionic/react';
-import { star } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-import { randomCount } from '../utils';
-
-export const ProductReviews = () => {
- // This count could come from the product (if real data was fed)
- const [reviewCount, setReviewCount] = useState(0);
-
- useEffect(() => {
- setReviewCount(randomCount());
- }, []);
-
- return (
-
-
-
-
- {reviewCount} review{reviewCount > 1 && 's'}
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductSpecificationsAccordion.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductSpecificationsAccordion.jsx
deleted file mode 100644
index 8db025a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/components/ProductSpecificationsAccordion.jsx
+++ /dev/null
@@ -1,53 +0,0 @@
-import { IonAccordion, IonAccordionGroup, IonItem, IonLabel, IonList, IonNote } from '@ionic/react';
-import { useRef } from 'react';
-import { productSpecs } from '../utils';
-
-export const ProductSpecificationsAccordion = ({ type, contentRef }) => {
- const accordionGroupRef = useRef(null);
-
- const log = () => {
- const selectedAccordion = accordionGroupRef.current.value;
-
- if (selectedAccordion) {
- setTimeout(() => contentRef.current.scrollToBottom(400), 200);
- }
- };
-
- return (
-
- {Object.keys(productSpecs).map((spec, index) => {
- const { header, options, wrapText = false, noteColor = false } = productSpecs[spec];
-
- return (
-
-
- {header}
-
-
-
- {options.map((option, index2) => {
- const { label, value } = option;
-
- return (
-
-
- {label}
-
-
-
- {noteColor ? (value ? 'In stock' : 'Out of stock') : value}
-
-
-
- );
- })}
-
-
- );
- })}
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/index.tsx
deleted file mode 100644
index 9981c04..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/index.tsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-
-import './style.scss';
-
-function DemoReactShopUi() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
- Dashboard
-
-
-
- Search
-
-
-
- );
-}
-
-export default DemoReactShopUi;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Categories.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Categories.jsx
deleted file mode 100644
index 59cc526..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Categories.jsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import {
- IonButton,
- IonContent,
- IonHeader,
- IonLabel,
- IonNote,
- IonPage,
- IonRouterLink,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { capitalize, productInfo } from '../utils';
-
-import styles from './Categories.module.scss';
-
-const Categories = () => {
- const categories = Object.keys(productInfo);
-
- return (
-
-
-
- Ionic Shop
-
-
-
-
-
-
- ionic
- shop
-
-
-
-
-
- {categories.map((category) => (
-
-
-
-
{capitalize(category)}
-
-
-
- // {capitalize(c)}
- ))}
-
-
-
- );
-};
-
-export default Categories;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Categories.module.scss b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Categories.module.scss
deleted file mode 100644
index e5964ba..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Categories.module.scss
+++ /dev/null
@@ -1,20 +0,0 @@
-.categoryContainer {
-
- display: flex;
- color: white;
-}
-
-.categoryContainer p {
-
- display: flex;
- justify-items: center;
- justify-content: center;
- position: absolute;
-
- background-color: rgba(0, 0, 0, 0.4);
- width: 50%;
- padding-top: 0.5rem;
- padding-bottom: 0.5rem;
- margin: 0 auto;
- font-size: 2rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Category.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Category.jsx
deleted file mode 100644
index b87dc0c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Category.jsx
+++ /dev/null
@@ -1,68 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonLabel,
- IonNote,
- IonPage,
- IonRouterLink,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { chevronBack } from 'ionicons/icons';
-import { useParams } from 'react-router';
-import { capitalize, productInfo } from '../utils';
-
-import styles from './Categories.module.scss';
-
-const Category = () => {
- const router = useIonRouter();
- const { category } = useParams();
- const productTypes = Object.keys(productInfo[category].productTypes);
-
- return (
-
-
-
-
- router.goBack()}>
-
- Back
-
-
- {category}
-
-
-
-
-
-
- shop
- {category}
-
-
-
-
-
- {productTypes.map((product) => (
-
-
-
-
{capitalize(product)}
-
-
- ))}
-
-
-
- );
-};
-
-export default Category;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Favourites.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Favourites.jsx
deleted file mode 100644
index ef53bd7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/Favourites.jsx
+++ /dev/null
@@ -1,102 +0,0 @@
-import {
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonImg,
- IonLabel,
- IonPage,
- IonRow,
- IonText,
- IonTitle,
- IonToolbar,
- useIonModal,
-} from '@ionic/react';
-import { heartOutline } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { useState } from 'react';
-import { ProductModal } from '../components/ProductModal';
-import { FavouritesStore } from '../store';
-import { getFavourites } from '../store/Selectors';
-
-const Favourites = () => {
- const favourites = useStoreState(FavouritesStore, getFavourites);
-
- const [selectedProduct, setSelectedProduct] = useState([]);
- const [presentProductModal, dismissProductModal] = useIonModal(ProductModal, {
- dismiss: () => dismissProductModal(),
- product: selectedProduct,
- });
-
- const handleProductModal = (product) => {
- setSelectedProduct(product);
- presentProductModal();
- };
-
- return (
-
-
-
- Favourites
-
-
-
-
-
- Favourites
-
-
-
-
-
- {favourites.map((product, index) => {
- if (
- product.image !== null &&
- product.image !== '' &&
- !product.image.includes('Placeholder')
- ) {
- return (
- handleProductModal(product)}
- key={index}
- size="6"
- sizeXs="6"
- sizeSm="3"
- sizeMd="3"
- sizeXl="2"
- >
-
-
- {product.title}
- {product.price}
-
-
- );
- } else return null;
- })}
-
-
- {favourites.length === 0 && (
-
-
-
- No favourites yet
-
-
-
-
- Add some by clicking the icon on
- a product
-
-
-
-
- )}
-
-
-
- );
-};
-
-export default Favourites;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/ProductType.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/ProductType.jsx
deleted file mode 100644
index 8921dab..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/ProductType.jsx
+++ /dev/null
@@ -1,211 +0,0 @@
-import {
- IonBreadcrumb,
- IonBreadcrumbs,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonImg,
- IonLabel,
- IonNote,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
- useIonModal,
- useIonRouter,
-} from '@ionic/react';
-import { chevronBack, filter } from 'ionicons/icons';
-import { useRef } from 'react';
-import { useEffect, useState } from 'react';
-import { useParams } from 'react-router';
-import { FilterModal } from '../components/FilterModal';
-import { ProductModal } from '../components/ProductModal';
-import { capitalize, productInfo } from '../utils';
-
-const ProductType = () => {
- const router = useIonRouter();
- const { category, type } = useParams();
- const productsRef = useRef();
-
- const [products, setProducts] = useState([]);
- const [filteredProducts, setFilteredProducts] = useState([]);
- const [filterCriteria, setFilterCriteria] = useState('None');
-
- const filters = productInfo[category].productTypes[type].filters;
- const searchPlaceholder = productInfo[category].productTypes[type].searchPlaceholder;
-
- const [selectedProduct, setSelectedProduct] = useState([]);
- const [presentProductModal, dismissProductModal] = useIonModal(ProductModal, {
- dismiss: () => dismissProductModal(),
- category,
- type,
- product: selectedProduct,
- });
-
- const handleProductModal = (product) => {
- setSelectedProduct(product);
- presentProductModal();
- };
-
- const [present, dismiss] = useIonModal(FilterModal, {
- dismiss: () => dismiss(),
-
- filterCriteria,
- setFilterCriteria,
- productsRef,
- filters,
- });
-
- useEffect(() => {
- const getProducts = async () => {
- const response = await fetch(`/data/${category}/${type}.json`);
- const data = await response.json();
- setProducts(data);
- setFilteredProducts(data);
- };
-
- getProducts();
- }, [category, type]);
-
- const openModal = () => {
- present({
- breakpoints: [0, 0.25],
- initialBreakpoint: 0.25,
- backdropBreakpoint: 0,
- });
- };
-
- const performSearch = (e) => {
- const searchCriteria = e.target.value.toLowerCase();
- let tempFilteredProducts = [...products];
-
- if (searchCriteria !== '') {
- tempFilteredProducts = tempFilteredProducts.filter((product) =>
- product.title.toLowerCase().includes(searchCriteria)
- );
- setFilteredProducts(tempFilteredProducts);
- } else {
- setFilteredProducts(products);
- }
- };
-
- return (
-
-
-
-
- router.goBack()}>
-
- Back
-
-
- {capitalize(type)}
-
-
-
-
-
-
- shop
- {category}
-
-
-
-
-
-
-
-
- {capitalize(category)}
-
-
- {capitalize(type)}
-
- {filterCriteria !== 'None' && (
-
-
- {filterCriteria}
-
- )}
-
-
-
-
-
-
- Filter
-
-
-
-
- performSearch(e)}
- />
-
-
-
- {filteredProducts.map((product, index) => {
- if (
- product.image !== null &&
- product.image !== '' &&
- !product.image.includes('Placeholder')
- ) {
- return (
- handleProductModal(product)}
- key={index}
- size="6"
- sizeXs="6"
- sizeSm="3"
- sizeMd="3"
- sizeXl="2"
- style={{
- display:
- (filterCriteria !== 'None' &&
- product.title.toLowerCase().includes(filterCriteria.toLowerCase())) ||
- filterCriteria === 'None'
- ? 'block'
- : 'none',
- }}
- >
-
-
- {product.title}
- {product.price}
-
-
- );
- } else return null;
- })}
-
-
-
-
- );
-};
-
-export default ProductType;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/index.js b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/index.js
deleted file mode 100644
index 31a370a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/pages/index.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import { heartOutline, homeOutline, shirtOutline } from 'ionicons/icons';
-
-import Categories from './Categories';
-import Favourites from './Favourites';
-import ProductType from './ProductType';
-import Category from './Category';
-
-export const pages = [
- {
- href: '/categories',
- icon: shirtOutline,
- component: Categories,
- default: true,
- isTab: true,
- },
- {
- href: '/categories/:category/:type',
- component: ProductType,
- default: false,
- isTab: false,
- },
- {
- href: '/categories/:category',
- icon: shirtOutline,
- component: Category,
- default: true,
- isTab: false,
- },
- {
- href: '/favourites',
- icon: heartOutline,
- component: Favourites,
- default: false,
- isTab: true,
- },
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/CartStore.js b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/CartStore.js
deleted file mode 100644
index ee30210..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/CartStore.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Store } from 'pullstate';
-
-const CartStore = new Store({
- cart: [],
-});
-
-export default CartStore;
-
-export const addToCart = (product) => {
- const currentCart = CartStore.getRawState().cart;
- const added = !currentCart.includes(product);
-
- CartStore.update((s) => {
- if (currentCart.includes(product)) {
- s.cart = currentCart.filter((current) => current !== product);
- } else {
- s.cart = [...s.cart, product];
- }
- });
-
- return added;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/FavouritesStore.js b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/FavouritesStore.js
deleted file mode 100644
index f33f0ba..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/FavouritesStore.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import { Store } from 'pullstate';
-
-const FavouritesStore = new Store({
- favourites: [],
-});
-
-export default FavouritesStore;
-
-export const checkIfFavourite = (product) => {
- const currentFavourites = FavouritesStore.getRawState().favourites;
- const isFavourite = currentFavourites.includes(product);
-
- return isFavourite;
-};
-
-export const addToFavourites = (product, category) => {
- const currentFavourites = FavouritesStore.getRawState().favourites;
- const added = !currentFavourites.includes(product);
-
- FavouritesStore.update((s) => {
- if (!added) {
- s.favourites = currentFavourites.filter((current) => current !== product);
- } else {
- s.favourites = [...s.favourites, product];
- }
- });
-
- return added;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/Selectors.js
deleted file mode 100644
index c5073f7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/Selectors.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getFavourites = createSelector(getState, (state) => state.favourites);
-export const checkFavourites = (product) =>
- createSelector(getState, (state) => state.favourites.includes(product));
-export const getCart = createSelector(getState, (state) => state.cart);
-export const getCartCount = createSelector(getState, (state) => state.cart.length);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/index.js
deleted file mode 100644
index bbd2f01..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/store/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as FavouritesStore } from './FavouritesStore';
-export { default as CartStore } from './CartStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/theme/variables.css
deleted file mode 100644
index 07d8b62..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/theme/variables.css
+++ /dev/null
@@ -1,163 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-:root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-
- /* CUSTOM */
- --ion-background-color: white;
- --ion-tab-bar-background: white;
- --ion-tab-bar-color: rgb(219, 219, 219);
- --ion-tab-bar-color-selected: rgb(85, 85, 85);
-}
-
-ion-tab-bar {
-
- --border: none;
- height: 5rem;
-}
-
-ion-toolbar,
-ion-header {
-
- --background: white;
- --border-color: #F4F5F8;
-}
-
-ion-tab-bar.floating {
-
---background: white;
-box-shadow: 0px 1px 13px rgba(0, 0, 0, 0.2);
-border-radius: 20px !important;
-
-height: 50px;
-width: 90%;
-padding-top: 5px;
-padding-bottom: 5px;
-
-bottom: 20px;
-position: relative;
-margin: 0 auto !important;
-border-top: none;
-}
-
-ion-tab-button {
-
- border-radius: 16px !important;
-}
-
-ion-tab-button ion-icon {
-
-font-size: 1.75rem;
-}
-
-.custom-back {
-
- --color: rgb(99, 99, 99);
-}
-
-
-.page-title {
-
- text-transform: uppercase;
-}
-
-.tab-dot {
-
- border-radius: 500px;
- background-color: var(--ion-tab-bar-color-selected);
- height: 5px;
- width: 5px;
- margin-top: 1.5rem;
- position: absolute;
- z-index: 999;
-}
-
-.cart-count {
-
- position: absolute;
- background-color: rgb(42, 42, 42);
- color: white;
- border-radius: 500px;
- padding: 5px;
- width: 20px;
- height: 20px;
- font-size: 0.8rem;
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-items: center;
- bottom: 2px;
- margin-left: 2px;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/utils/index.js b/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/utils/index.js
deleted file mode 100644
index fad39c3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactShopUi/utils/index.js
+++ /dev/null
@@ -1,143 +0,0 @@
-export const capitalize = (s) => s && (s[0].toUpperCase() + s.slice(1)).replaceAll('_', ' ');
-
-export const productInfo = {
- men: {
- coverImage: '/assets/men.jpeg',
- productTypes: {
- formal_shirts: {
- coverImage: '/assets/formal_shirts2.jpeg',
- filters: ['None', 'Regular', 'Slim', 'Stretch'],
- searchPlaceholder: 'Single Cuff',
- },
- sportswear: {
- coverImage: '/assets/sportswear2.jpeg',
- filters: ['None', 'Trainers', 'Joggers', 'Shorts', 'Hoodie'],
- searchPlaceholder: 'Nike',
- },
- coats: {
- coverImage: '/assets/coats3.jpeg',
- filters: ['None', 'Funnel', 'Hooded', 'Barbour', 'Collar'],
- searchPlaceholder: 'Bomber',
- },
- },
- },
- women: {
- coverImage: '/assets/women.jpeg',
- productTypes: {
- jeans: {
- coverImage: '/assets/jeans.jpeg',
- filters: ['None', 'Skinny', 'Slim', 'Boot Cut', 'Flare'],
- searchPlaceholder: 'Skinny',
- },
- dresses: {
- coverImage: '/assets/dresses3.jpeg',
- filters: ['None', 'Short', 'Maxi', 'Long', 'Regular'],
- searchPlaceholder: 'Long Sleeve',
- },
- makeup: {
- coverImage: '/assets/makeup2.jpeg',
- filters: ['None', 'Mascara', 'Lip Gloss', 'Foundation', 'Blush'],
- searchPlaceholder: 'Brush Set',
- },
- },
- },
- home: {
- coverImage: '/assets/home.jpeg',
- productTypes: {
- beds: {
- coverImage: '/assets/beds.jpeg',
- filters: ['None', 'Metal', 'Ottoman', 'Storage', 'Wooden'],
- searchPlaceholder: 'Upholstered',
- },
- office: {
- coverImage: '/assets/office.jpeg',
- filters: ['None', 'Desk', 'Chair', 'Lamp', 'Shelf'],
- searchPlaceholder: 'Space Saving',
- },
- coffee_tables: {
- coverImage: '/assets/coffee_table.jpeg',
- filters: ['None', 'Wood', 'Glass', 'Round', 'Storage'],
- searchPlaceholder: 'Oak Effect',
- },
- },
- },
-};
-
-export const productSpecs = {
- dimensions: {
- header: 'Dimensions',
- options: [
- {
- label: 'Height',
- value: '100cm',
- },
- {
- label: 'Width',
- value: '130cm',
- },
- {
- label: 'Depth',
- value: '150cm',
- },
- ],
- },
- shipping: {
- header: 'Shipping',
- options: [
- {
- label: 'UK',
- value: '£4.99',
- },
- {
- label: 'USA',
- value: '£6.99',
- },
- {
- label: 'Gloal',
- value: '£9.99',
- },
- ],
- },
- colors: {
- header: 'Colors',
- noteColor: true,
- options: [
- {
- label: 'Red',
- value: true,
- },
- {
- label: 'Blue',
- value: false,
- },
- {
- label: 'Brown',
- value: true,
- },
- ],
- },
- sizes: {
- header: 'Sizes',
- wrapText: true,
- options: [
- {
- label: 'Large',
- value: 'Check size guide for details',
- },
- {
- label: 'Width',
- value: 'Check size guide for details',
- },
- {
- label: 'Depth',
- value: 'Check size guide for details',
- },
- ],
- },
-};
-
-export const randomCount = () => {
- const max = 273;
- const min = 23;
- return Math.floor(Math.random() * (max - min) + min).toFixed(0);
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab1.css b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab1.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab1.tsx
deleted file mode 100644
index d14c4a9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab1.tsx
+++ /dev/null
@@ -1,52 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import ExploreContainer from '../components/ExploreContainer';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-
-import './Tab1.css';
-
-const Tab1 = (): React.JSX.Element => {
- const router = useIonRouter();
-
- function handleBackClick() {
- window.location.href = '/tabs/demo-list';
- }
-
- return (
-
-
-
- Home
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Home
-
-
-
-
-
- );
-};
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab2.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab2.tsx
deleted file mode 100644
index f69a263..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab2.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab2.css';
-
-const Tab2 = (): React.JSX.Element => {
- return (
-
-
-
- Profile
-
-
-
-
-
- Profile
-
-
-
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab3.css b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab3.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab3.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab3.tsx
deleted file mode 100644
index 48d6189..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/AppPages/Tab3.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab3.css';
-
-const Tab3 = (): React.JSX.Element => {
- return (
-
-
-
- Settings
-
-
-
-
-
- Settings
-
-
-
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/NOTES.md
deleted file mode 100644
index e5a81de..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0158
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/TestComponents/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/TestComponents/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/TestComponents/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/TestComponents/ExploreContainer.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/TestComponents/ExploreContainer.tsx
deleted file mode 100644
index 202447c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/TestComponents/ExploreContainer.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import './ExploreContainer.css';
-
-interface ExploreContainerProps {
- name: string;
-}
-
-const ExploreContainer = ({ name }: ExploreContainerProps): React.JSX.Element => {
- return (
-
- {name}
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/TestComponents/SwitchTabBar.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/TestComponents/SwitchTabBar.tsx
deleted file mode 100644
index 08fdc46..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/TestComponents/SwitchTabBar.tsx
+++ /dev/null
@@ -1,140 +0,0 @@
-import {
- CreateAnimation,
- IonIcon,
- IonLabel,
- IonRouterOutlet,
- IonTabBar,
- IonTabButton,
- IonTabs,
-} from '@ionic/react';
-import { IonReactRouter } from '@ionic/react-router';
-import { home, person, settings } from 'ionicons/icons';
-import Tab1 from '../AppPages/Tab1';
-import Tab2 from '../AppPages/Tab2';
-import Tab3 from '../AppPages/Tab3';
-import { useRef } from 'react';
-import { useEffect, useState } from 'react';
-import { Redirect, Route } from 'react-router';
-
-interface TabItem {
- label: string;
- url: string;
- icon: string;
- color: string;
- backgroundColor: string;
- component: React.ComponentType;
-}
-
-interface AnimationConfig {
- property: string;
- fromValue: string;
- toValue: string;
-}
-
-const SwitchTabBar = (): React.JSX.Element => {
- const [activeTab, setActiveTab] = useState('tab0');
- const switchRefs = useRef<(CreateAnimation | null)[]>([]);
-
- const tabs = [
- {
- label: 'Home',
- url: '/home',
- icon: home,
- color: '#76b140',
- backgroundColor: '#ddf7c5',
- component: Tab1,
- },
- {
- label: 'Profile',
- url: '/profile',
- icon: person,
- color: '#e46062',
- backgroundColor: '#fcddde',
- component: Tab2,
- },
- {
- label: 'Settings',
- url: '/settings',
- icon: settings,
- color: '#3578e5',
- backgroundColor: '#e7f0ff',
- component: Tab3,
- },
- ];
-
- const revealAnimation = {
- property: 'transform',
- fromValue: 'translateX(-30px)',
- toValue: 'translateX(0px)',
- };
-
- const switchAnimation = {
- duration: 200,
- direction: 'normal',
- iterations: '1',
- fromTo: [revealAnimation],
- easing: 'ease-in-out',
- };
-
- const getTabButtonStyle = (tab: TabItem): React.CSSProperties => {
- const tabStyle: React.CSSProperties = {
- backgroundColor: tab.backgroundColor,
- color: tab.color,
- transition: '0.5s all ease-in-out',
- };
-
- return tabStyle;
- };
-
- useEffect(() => {
- const tabIndex = activeTab.match(/\d+/)[0];
- switchRefs.current[tabIndex].animation.play();
- }, [activeTab]);
-
- return (
-
-
-
- {tabs.map((tab, index) => {
- return (
-
-
-
- );
- })}
-
-
-
-
- setActiveTab(e.detail.tab)}>
- {tabs.map((tab, index) => {
- const tabStyle = getTabButtonStyle(tab);
- const isActive = activeTab === `tab${index}`;
-
- return (
-
-
-
- {isActive && (
- (switchRefs.current[index] = ref)}
- {...switchAnimation}
- >
- {tab.label}
-
- )}
-
- );
- })}
-
-
-
- );
-};
-
-export default SwitchTabBar;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/components/ExploreContainer.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/components/ExploreContainer.tsx
deleted file mode 100644
index 1e13540..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/components/ExploreContainer.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import './ExploreContainer.css';
-
-const ExploreContainer = ({ name }) => {
- return (
-
- {name}
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/components/SwitchTabBar.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/components/SwitchTabBar.tsx
deleted file mode 100644
index c0db928..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/components/SwitchTabBar.tsx
+++ /dev/null
@@ -1,126 +0,0 @@
-import {
- CreateAnimation,
- IonIcon,
- IonLabel,
- IonRouterOutlet,
- IonTabBar,
- IonTabButton,
- IonTabs,
-} from '@ionic/react';
-import { IonReactRouter } from '@ionic/react-router';
-import { home, person, settings } from 'ionicons/icons';
-import Tab1 from '../pages/Tab1';
-import Tab2 from '../pages/Tab2';
-import Tab3 from '../pages/Tab3';
-import { useRef } from 'react';
-import { useEffect, useState } from 'react';
-import { Redirect, Route } from 'react-router';
-
-const SwitchTabBar = () => {
- const [activeTab, setActiveTab] = useState('tab0');
- const switchRefs = useRef([]);
-
- const tabs = [
- {
- label: 'Home',
- url: '/home',
- icon: home,
- color: '#76b140',
- backgroundColor: '#ddf7c5',
- component: Tab1,
- },
- {
- label: 'Profile',
- url: '/profile',
- icon: person,
- color: '#e46062',
- backgroundColor: '#fcddde',
- component: Tab2,
- },
- {
- label: 'Settings',
- url: '/settings',
- icon: settings,
- color: '#3578e5',
- backgroundColor: '#e7f0ff',
- component: Tab3,
- },
- ];
-
- const revealAnimation = {
- property: 'transform',
- fromValue: 'translateX(-30px)',
- toValue: 'translateX(0px)',
- };
-
- const switchAnimation = {
- duration: 200,
- direction: 'normal',
- iterations: '1',
- fromTo: [revealAnimation],
- easing: 'ease-in-out',
- };
-
- const getTabButtonStyle = (tab) => {
- const tabStyle = {
- backgroundColor: tab.backgroundColor,
- color: tab.color,
- transition: '0.5s all ease-in-out',
- };
-
- return tabStyle;
- };
-
- useEffect(() => {
- const tabIndex = activeTab.match(/\d+/)[0];
- switchRefs.current[tabIndex].animation.play();
- }, [activeTab]);
-
- return (
-
-
-
- {tabs.map((tab, index) => {
- return (
-
-
-
- );
- })}
-
-
-
-
-
- setActiveTab(e.detail.tab)}>
- {tabs.map((tab, index) => {
- const tabStyle = getTabButtonStyle(tab);
- const isActive = activeTab === `tab${index}`;
-
- return (
-
-
-
- {isActive && (
- (switchRefs.current[index] = ref)}
- {...switchAnimation}
- >
- {tab.label}
-
- )}
-
- );
- })}
-
-
-
- );
-};
-
-export default SwitchTabBar;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/index.tsx
deleted file mode 100644
index 462916c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/index.tsx
+++ /dev/null
@@ -1,20 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-import SwitchTabBar from './components/SwitchTabBar';
-
-import './style.scss';
-
-function DemoReactSwitchTabs() {
- return (
- <>
-
- >
- );
-}
-
-export default DemoReactSwitchTabs;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab1.css b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab1.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab1.tsx
deleted file mode 100644
index 20895c3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab1.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab1.css';
-
-const Tab1 = () => {
- return (
-
-
-
- Home
-
-
-
-
-
- Home
-
-
-
-
-
- );
-};
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab2.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab2.tsx
deleted file mode 100644
index 492b34c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab2.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab2.css';
-
-const Tab2 = () => {
- return (
-
-
-
- Profile
-
-
-
-
-
- Profile
-
-
-
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab3.css b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab3.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab3.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab3.tsx
deleted file mode 100644
index 6ab2366..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/pages/Tab3.tsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab3.css';
-
-const Tab3 = () => {
- return (
-
-
-
- Settings
-
-
-
-
-
- Settings
-
-
-
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/style.scss
deleted file mode 100644
index 7a5a4a1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/style.scss
+++ /dev/null
@@ -1,97 +0,0 @@
-.demo-react-switch-tabs {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- /** Ionic CSS Variables **/
- :root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-
- ion-tab-bar {
- padding: 1rem;
- }
-
- ion-tab-button {
- flex-direction: row;
- border-radius: 20px;
- }
-
- ion-tab-button ion-icon {
- font-size: 1.5rem;
- }
-
- ion-tab-button ion-label {
- margin-left: 1rem;
- font-size: 0.8rem;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/theme/variables.css
deleted file mode 100644
index 6e146ff..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactSwitchTabs/theme/variables.css
+++ /dev/null
@@ -1,99 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-:root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-}
-
-ion-tab-bar {
-
- padding: 1rem;
-}
-
-ion-tab-button {
-
- flex-direction: row;
- border-radius: 20px;
-}
-
-ion-tab-button ion-icon {
-
- font-size: 1.5rem;
-}
-
-ion-tab-button ion-label {
-
- margin-left: 1rem;
- font-size: 0.8rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/AppPages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/AppPages/Tab1.tsx
deleted file mode 100644
index d0c5dc7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/AppPages/Tab1.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1(): React.JSX.Element {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/AppPages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/AppPages/Tab2.tsx
deleted file mode 100644
index 1b41aed..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/AppPages/Tab2.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2(): React.JSX.Element {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/NOTES.md
deleted file mode 100644
index 3fd27aa..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0159
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 029315d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,85 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-interface WeatherPropertyProps {
- type: 'wind' | 'feelsLike' | 'indexUV' | 'pressure';
- currentWeather: {
- current: {
- wind_mph: number;
- feelslike_c: number;
- uv: number;
- pressure_mb: number;
- };
- };
-}
-
-interface PropertyType {
- isIcon: boolean;
- icon: string;
- alt: string;
- label: string;
- value: string;
-}
-
-export const WeatherProperty = ({
- type,
- currentWeather,
-}: WeatherPropertyProps): React.JSX.Element => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index f710f29..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,65 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-interface CurrentWeatherProps {
- currentWeather: {
- location: {
- region: string;
- country: string;
- localtime: string;
- };
- current: {
- condition: {
- icon: string;
- text: string;
- };
- temp_c: number;
- };
- };
-}
-
-export const CurrentWeather = ({ currentWeather }: CurrentWeatherProps): React.JSX.Element => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/components/Modal.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/components/Modal.tsx
deleted file mode 100644
index af4dad4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/components/Modal.tsx
+++ /dev/null
@@ -1,59 +0,0 @@
-import {
- IonGrid,
- IonRow,
- IonCol,
- IonModal,
- IonButtons,
- IonButton,
- IonIcon,
- IonContent,
- IonHeader,
- IonToolbar,
- IonTitle,
-} from '@ionic/react';
-import { chevronBack } from 'ionicons/icons';
-
-interface ModalProps {
- showModal: boolean;
- close: (value: boolean) => void;
- modalOptions: {
- text?: string;
- name?: string;
- icon?: string;
- };
-}
-
-export const Modal = (props: ModalProps): React.JSX.Element => (
-
-
-
-
- {props.modalOptions.text ? props.modalOptions.text : props.modalOptions.name}
-
-
- props.close(false)}>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {props.modalOptions.name && (
-
-
- {props.modalOptions.name}
-
-
- )}
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/components/PageHeader.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/components/PageHeader.tsx
deleted file mode 100644
index 258ee41..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/components/PageHeader.tsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { IonRow, IonCol, IonCardSubtitle, IonCardTitle } from '@ionic/react';
-
-interface PageHeaderProps {
- pageName: string;
- count: number;
-}
-
-export const PageHeader = (props: PageHeaderProps): React.JSX.Element => (
-
-
- Tab Menu with Side Menu
-
- {props.pageName} page with {props.count} side menu options
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/index.tsx
deleted file mode 100644
index 9ff86d4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/index.tsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-
-import './style.scss';
-
-function DemoReactTabsMenusCustom() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
- Dashboard
-
-
-
- Search
-
-
-
- );
-}
-
-export default DemoReactTabsMenusCustom;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/CustomPage.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/CustomPage.tsx
deleted file mode 100644
index ea5ebaa..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/CustomPage.tsx
+++ /dev/null
@@ -1,93 +0,0 @@
-import React from 'react';
-import {
- IonHeader,
- IonContent,
- IonToolbar,
- IonTitle,
- IonButtons,
- IonMenuButton,
- IonBackButton,
- IonIcon,
- IonSearchbar,
-} from '@ionic/react';
-import { chevronBack } from 'ionicons/icons';
-
-const CustomPage = (props) => {
- const mainContent = props.children;
- const {
- name,
- sideMenu = false,
- sideMenuPosition = 'end',
- backButton = false,
- backButtonIcon = chevronBack,
- backButtonText = ' ',
- backButtonPath,
- actionButton = false,
- actionButtonPosition,
- actionButtonIcon,
- actionButtonIconSize,
- actionButtonClickEvent,
- contentClass,
- searchbar = false,
- searchbarEvent,
- showLargeHeader = true,
- } = props;
-
- return (
- <>
-
-
- {name}
-
- {backButton && (
-
-
-
- )}
-
- {actionButton && actionButtonIcon && (
-
-
-
- )}
-
- {sideMenu && (
-
-
-
- )}
-
-
-
-
- {showLargeHeader && (
-
-
-
- {name}
-
- {searchbar && (
- searchbarEvent(e)}
- onChange={(e) => searchbarEvent(e)}
- />
- )}
-
-
- )}
- {mainContent}
-
- >
- );
-};
-
-export default CustomPage;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/PageSideMenus.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/PageSideMenus.tsx
deleted file mode 100644
index 3cb5c80..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/PageSideMenus.tsx
+++ /dev/null
@@ -1,58 +0,0 @@
-import {
- archiveOutline,
- beerOutline,
- cogOutline,
- eyeOutline,
- golfOutline,
- logOutOutline,
- mailOutline,
- mailUnreadOutline,
- mapOutline,
- personOutline,
- pulseOutline,
- refreshOutline,
- restaurantOutline,
- settingsOutline,
-} from 'ionicons/icons';
-import { buildSideMenuObject } from './Utils';
-
-export const tab1SideMenu = [
- buildSideMenuObject(false, 'Inbox', 'Navigates to Inbox page', mailOutline, '/tabs/tab2'),
- buildSideMenuObject(false, 'Places', 'Navigates to Places page', mapOutline, '/tabs/tab3'),
- buildSideMenuObject(true),
- buildSideMenuObject(false, 'Account Settings', null, settingsOutline, null),
- buildSideMenuObject(
- false,
- 'Settings Sub Page',
- 'Opens settings sub page',
- cogOutline,
- '/settings'
- ),
- buildSideMenuObject(false, 'Privacy', null, eyeOutline, null),
- buildSideMenuObject(false, 'Logout', null, logOutOutline, null),
-];
-
-export const tab2SideMenu = [
- buildSideMenuObject(false, 'Profile', 'Navigates to Profile page', personOutline, '/tabs/tab1'),
- buildSideMenuObject(false, 'Places', 'Navigates to Places page', mapOutline, '/tabs/tab3'),
- buildSideMenuObject(true),
- buildSideMenuObject(false, 'Unread', null, mailUnreadOutline, null),
- buildSideMenuObject(false, 'Archived', null, archiveOutline, null),
- buildSideMenuObject(
- false,
- 'Timestamp style',
- 'Changes the style of the timestamp',
- refreshOutline,
- null
- ),
-];
-
-export const tab3SideMenu = [
- buildSideMenuObject(false, 'Profile', 'Navigates to Profile page', personOutline, '/tabs/tab1'),
- buildSideMenuObject(false, 'Inbox', 'Navigates to Inbox page', mailOutline, '/tabs/tab2'),
- buildSideMenuObject(true),
- buildSideMenuObject(false, 'Pubs', null, beerOutline, null),
- buildSideMenuObject(false, 'Restaurants', null, restaurantOutline, null),
- buildSideMenuObject(false, 'Golf Courses', null, golfOutline, null),
- buildSideMenuObject(false, 'Hospitals', null, pulseOutline, null),
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/SideMenu.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/SideMenu.tsx
deleted file mode 100644
index 5f4ef03..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/SideMenu.tsx
+++ /dev/null
@@ -1,69 +0,0 @@
-import {
- IonHeader,
- IonContent,
- IonToolbar,
- IonTitle,
- IonMenuToggle,
- IonItem,
- IonIcon,
- IonMenu,
- IonLabel,
- IonList,
- IonListHeader,
-} from '@ionic/react';
-import { useSideMenu } from './SideMenuProvider';
-
-import '../theme/SideMenu.css';
-
-const SideMenu = (props) => {
- const { type = 'overlay' } = props;
- const mainContent = props.children;
- const menuOptions = useSideMenu();
-
- return (
-
-
-
- Menu
-
-
-
-
- {mainContent}
-
- {menuOptions.pageName}
-
- {menuOptions !== null && (
-
- {menuOptions &&
- menuOptions.options.map((menuOption, i) => {
- if (menuOption.url === null) {
- return (
-
-
-
- {menuOption.text}
-
-
- );
- } else {
- if (menuOption.url !== null) {
- return (
-
-
-
- {menuOption.text}
-
-
- );
- }
- }
- })}
-
- )}
-
-
- );
-};
-
-export default SideMenu;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/SideMenuProvider.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/SideMenuProvider.tsx
deleted file mode 100644
index 30235be..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/SideMenuProvider.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import React, { useContext, useState } from 'react';
-
-const SideMenuContext = React.createContext();
-const SideMenuUpdateContext = React.createContext();
-
-export function useSideMenu() {
- return useContext(SideMenuContext);
-}
-
-export function useSideMenuUpdate() {
- return useContext(SideMenuUpdateContext);
-}
-
-export function SideMenuProvider({ children }) {
- const [sideMenuOptions, setSideMenuOptions] = useState({ options: [], side: '', pageName: '' });
-
- const setSideMenu = (menuOptions) => {
- setSideMenuOptions(menuOptions);
- };
-
- return (
-
-
- {children}
-
-
- );
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/TabMenu.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/TabMenu.tsx
deleted file mode 100644
index 04c3520..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/TabMenu.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import React from 'react';
-import { IonIcon, IonLabel, IonTabBar, IonTabButton, IonTabs, IonRouterOutlet } from '@ionic/react';
-import { Redirect, Route } from 'react-router-dom';
-
-const TabMenu = (props) => {
- return (
-
-
- {props.tabs.map((tab, i) => {
- const TabComponent = tab.component;
-
- if (tab.isTab) {
- return (
- (
-
- )}
- exact={true}
- />
- );
- } else {
- return (
- (
-
- )}
- exact={false}
- />
- );
- }
- })}
-
-
-
- {props.tabs.map((tab, i) => {
- if (tab.isTab) {
- return (
-
-
- {tab.label && {tab.label} }
-
- );
- }
- })}
-
-
- );
-};
-
-export default TabMenu;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/Utils.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/Utils.tsx
deleted file mode 100644
index d1283b6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/Utils.tsx
+++ /dev/null
@@ -1,181 +0,0 @@
-import { beerOutline, golfOutline, pulseOutline, restaurantOutline } from 'ionicons/icons';
-
-export const getInboxItems = () => {
- return [
- {
- id: 1,
- sender: 'Github',
- subject: 'Host your code here',
- message:
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
- time: '3 mins ago',
- unread: true,
- },
- {
- id: 2,
- sender: 'Ionic',
- subject: 'Amazing cross platform apps on the web',
- message:
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
- time: '2 hrs ago',
- unread: false,
- },
- {
- id: 3,
- sender: 'Capacitor',
- subject: 'This is why capacitor is awesome',
- message:
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
- time: 'Yesterday',
- unread: false,
- },
- {
- id: 4,
- sender: 'ReactJS',
- subject: 'Get ready for React 2021',
- message:
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
- time: 'Yesterday',
- unread: true,
- },
- {
- id: 5,
- sender: 'ContextAPI',
- subject: 'Global state management!',
- message:
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
- time: '2 days ago',
- unread: true,
- },
- {
- id: 6,
- sender: 'Javascript',
- subject: 'The best language',
- message:
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
- time: '3 days ago',
- unread: false,
- },
- {
- id: 7,
- sender: 'Mobile app development',
- subject: 'Bring your solutions to mobile',
- message:
- 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
- time: '4 days ago',
- unread: false,
- },
- ];
-};
-
-export const getInboxItemByID = (ID) => {
- const inboxItems = getInboxItems();
- const inboxItem = inboxItems.filter((i) => parseInt(i.id) === parseInt(ID))[0];
- return inboxItem;
-};
-
-export const getPlaceItems = () => {
- const places = [
- {
- name: 'Rusty Tavern',
- rating: 8,
- type: 'pub',
- icon: beerOutline,
- },
- {
- name: 'Meat Mall',
- rating: 5,
- type: 'restaurant',
- icon: restaurantOutline,
- },
- {
- name: 'Lousy Lager',
- rating: 10,
- type: 'pub',
- icon: beerOutline,
- },
- {
- name: 'Hole in one',
- rating: 4,
- type: 'golf',
- icon: golfOutline,
- },
- {
- name: 'Relief center',
- rating: 9,
- type: 'hospital',
- icon: pulseOutline,
- },
- {
- name: 'Yummy yams',
- rating: 2,
- type: 'restaurant',
- icon: restaurantOutline,
- },
- {
- name: 'Under power of others',
- rating: 7,
- type: 'golf',
- icon: golfOutline,
- },
- {
- name: 'Belfast General',
- rating: 10,
- type: 'hospital',
- icon: pulseOutline,
- },
- ];
-
- return places;
-};
-
-/**
- *
- * @param {Boolean} spacer Renders a space between above and below item
- * @param {String} text The text or "label" to show
- * @param {String} description The description to show under the text
- * @param {*} icon The icon to show - This should be an imported Ion icon
- * @param {String} url The url to navigate to e.g. "/tabs/tab2"
- * @param {Function} clickEvent A click event to perform instead of url, leave blank and set in component if it's specific (Should be written like () => function())
- * @returns A side menu object
- */
-export const buildSideMenuObject = (
- spacer = false,
- text = '',
- description = '',
- icon = false,
- url = null,
- clickEvent = null
-) => {
- const title = text;
-
- if (description !== '' && description !== null) {
- text = getInformativeSideMenuItem(text, description);
- }
-
- return spacer
- ? {}
- : {
- title,
- text,
- icon,
- url,
- clickEvent,
- };
-};
-
-/**
- *
- * @param {*} text Text of a side menu object
- * @param {*} description Description of a side menu object
- * @returns A span and h6 holding the text and description
- */
-const getInformativeSideMenuItem = (text, description) => {
- return (
- <>
- {text}
-
- {description}
- >
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/nav/AllRoutes.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/nav/AllRoutes.tsx
deleted file mode 100644
index d62880a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/nav/AllRoutes.tsx
+++ /dev/null
@@ -1,94 +0,0 @@
-// Main Tabs
-import Tab1 from '../../pages/Tab1';
-import Tab2 from '../../pages/Tab2';
-import Tab3 from '../../pages/Tab3';
-
-// Side Menus
-import { tab1SideMenu, tab2SideMenu, tab3SideMenu } from '../PageSideMenus';
-
-// Main tab children
-import Settings from '../../pages/Settings';
-
-// Sub pages
-import InboxItem from '../../pages/InboxItem';
-
-// Tab icons
-import { personOutline, mailOutline, mapOutline } from 'ionicons/icons';
-
-// Import custom tab menu
-import TabMenu from '../TabMenu';
-import SubRoutes from './SubRoutes';
-
-// Array of objects representing tab pages
-// These will be the main tabs across the app
-
-// * PARAMS per tab object *
-// isTab = true will make the tab appear
-// default = the default tab page to open and be redirected to at "/"
-// NOTE: there should only be one default tab (default: true)
-// label = the label to show with the tab
-// component = the component related to this tab page
-// icon = icon to show on the tab bar menu
-// path = the path which the tab is accessible
-export const tabRoutes = [
- {
- label: 'Profile',
- component: Tab1,
- icon: personOutline,
- path: '/tabs/tab1',
- default: true,
- isTab: true,
- sideMenu: true,
- sideMenuOptions: tab1SideMenu,
- },
- {
- label: 'Inbox',
- component: Tab2,
- icon: mailOutline,
- path: '/tabs/tab2',
- default: false,
- isTab: true,
- sideMenu: true,
- sideMenuOptions: tab2SideMenu,
- },
- {
- label: 'Places',
- component: Tab3,
- icon: mapOutline,
- path: '/tabs/tab3',
- default: false,
- isTab: true,
- sideMenu: true,
- sideMenuOptions: tab3SideMenu,
- },
-];
-
-// Array of objects representing children pages of tabs
-
-// * PARAMS per tab object *
-// isTab = should always be set to false for these
-// component = the component related to this tab page
-// path = the path which the tab is accessible
-
-// These pages should be related to tab pages and be held within the same path
-// E.g. /tabs/tab1/child
-const tabChildrenRoutes = [{ component: InboxItem, path: '/tabs/tab2/:id', isTab: false }];
-
-// Array of objects representing sub pages
-
-// * PARAMS per tab object *
-// component = the component related to this sub page
-// path = the path which the sub page is accessible
-
-// This array should be sub pages which are not directly related to a tab page
-// E.g. /child
-const subPageRoutes = [{ component: Settings, path: '/settings' }];
-
-// Let's combine these together as they need to be controlled within the same IonRouterOutlet
-const tabsAndChildrenRoutes = [...tabRoutes, ...tabChildrenRoutes];
-
-// Render sub routes
-export const SubPages = () => ;
-
-// Render tab menu
-export const Tabs = () => ;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/nav/NavRoutes.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/nav/NavRoutes.tsx
deleted file mode 100644
index d77094a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/nav/NavRoutes.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { IonRouterOutlet, IonSplitPane } from '@ionic/react';
-import { IonReactRouter } from '@ionic/react-router';
-import { Redirect, Route } from 'react-router-dom';
-import SideMenu from '../SideMenu';
-import { SubPages, Tabs, tabRoutes } from './AllRoutes';
-
-const NavRoutes = () => {
- return (
-
-
-
-
-
- } />
-
-
- t.default)[0].component}
- exact={true}
- />
- t.default)[0].path.toString()} />
-
-
-
- );
-};
-
-export default NavRoutes;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/nav/SubRoutes.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/nav/SubRoutes.tsx
deleted file mode 100644
index f4095bf..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/main/nav/SubRoutes.tsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import { Route } from 'react-router-dom';
-
-const SubRoutes = (props) => {
- return (
- <>
- {props.routes.map((route, i) => {
- const RouteComponent = route.component;
-
- return (
- (
-
- )}
- exact={false}
- />
- );
- })}
- >
- );
-};
-
-export default SubRoutes;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/InboxItem.css b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/InboxItem.css
deleted file mode 100644
index a08b727..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/InboxItem.css
+++ /dev/null
@@ -1,40 +0,0 @@
-#view-inbox-item ion-item {
- --inner-padding-end: 0;
- --background: transparent;
-}
-
-#view-inbox-item ion-label {
- margin-top: 12px;
- margin-bottom: 12px;
-}
-
-#view-inbox-item ion-item h2 {
- font-weight: 600;
-}
-
-#view-inbox-item ion-item .date {
- float: right;
- align-items: center;
- display: flex;
-}
-
-#view-inbox-item ion-item ion-icon {
- font-size: 42px;
- margin-right: 8px;
-}
-
-#view-inbox-item ion-item ion-note {
- font-size: 15px;
- margin-right: 12px;
- font-weight: normal;
-}
-
-#view-inbox-item h1 {
- margin: 0;
- font-weight: bold;
- font-size: 22px;
-}
-
-#view-inbox-item p {
- line-height: 22px;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/InboxItem.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/InboxItem.tsx
deleted file mode 100644
index 0f96bb3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/InboxItem.tsx
+++ /dev/null
@@ -1,64 +0,0 @@
-import { useEffect, useState } from 'react';
-import { personCircle } from 'ionicons/icons';
-
-import './Tab2.css';
-import CustomPage from '../main/CustomPage';
-
-import { IonIcon, IonItem, IonLabel, IonNote, IonPage, useIonViewWillEnter } from '@ionic/react';
-import { useParams } from 'react-router';
-import { getInboxItemByID } from '../main/Utils';
-
-import './InboxItem.css';
-
-const InboxItem = (props) => {
- const pageName = 'Inbox';
- const params = useParams();
-
- const [inboxItem, setInboxItem] = useState({});
-
- useIonViewWillEnter(() => {
- const inboxItemID = params.id;
- const tempInboxItem = getInboxItemByID(inboxItemID);
- setInboxItem(tempInboxItem);
- });
-
- return (
-
-
- {inboxItem ? (
- <>
-
-
-
-
- {inboxItem.sender}
-
- {inboxItem.time}
-
-
-
- To: Me
-
-
-
-
-
-
{inboxItem.subject}
-
{inboxItem.message}
-
- >
- ) : (
- Message not found
- )}
-
-
- );
-};
-
-export default InboxItem;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Settings.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Settings.tsx
deleted file mode 100644
index 6203829..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Settings.tsx
+++ /dev/null
@@ -1,35 +0,0 @@
-import { IonCol, IonGrid, IonPage, IonRow } from '@ionic/react';
-import { addOutline } from 'ionicons/icons';
-
-import './Tab1.css';
-import CustomPage from '../main/CustomPage';
-
-const Settings = (props) => {
- const pageName = 'Settings';
-
- return (
-
-
-
-
-
- Sub page
-
-
-
-
-
- );
-};
-
-export default Settings;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab1.css b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab1.css
deleted file mode 100644
index 2271539..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab1.css
+++ /dev/null
@@ -1,5 +0,0 @@
-.role {
- float: right;
- align-items: center;
- display: flex;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab1.tsx
deleted file mode 100644
index 59a6c20..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab1.tsx
+++ /dev/null
@@ -1,135 +0,0 @@
-import { useEffect, useState } from 'react';
-import {
- IonAvatar,
- IonBadge,
- IonButton,
- IonCol,
- IonGrid,
- IonIcon,
- IonImg,
- IonItem,
- IonLabel,
- IonNote,
- IonPage,
- IonRow,
- IonText,
-} from '@ionic/react';
-import {
- cogOutline,
- eyeOutline,
- logOutOutline,
- mailOutline,
- mapOutline,
- settingsOutline,
-} from 'ionicons/icons';
-
-import './Tab1.css';
-import CustomPage from '../main/CustomPage';
-
-import { PageHeader } from '../components/PageHeader';
-import { Modal } from '../components/Modal';
-import { useSideMenuUpdate, useSideMenu } from '../main/SideMenuProvider';
-import { Link } from 'react-router-dom';
-import { tab1SideMenu } from '../main/PageSideMenus';
-
-const Tab1 = (props) => {
- const pageName = 'Profile';
- const { sideMenuOptions } = props;
- const setSideMenu = useSideMenuUpdate();
-
- const [showModal, setShowModal] = useState(false);
- const [modalOptions, setModalOptions] = useState(false);
-
- const handleModal = async (index) => {
- await setModalOptions(tab1SideMenu[index]);
- setShowModal(true);
- };
-
- // Access other side menu options here
- const sideMenu = useSideMenu();
-
- useEffect(() => {
- if (props.location.pathname === '/tabs/tab1') {
- setSideMenu({ options: sideMenuOptions, side: 'start', pageName: pageName });
- }
- }, [props.location]);
-
- return (
-
-
-
-
-
-
-
-
-
- Author
-
- Alan Montgomery
-
- Mobile Team Lead
-
-
-
- Hey there, I'm Alan! Hopefully you can take something away from this little sample
- app. Or even if it's to have a poke around and see how I personally like to do things,
- that's OK too 👏🏻. Check out each page, side menu and have a look at how things work.
-
-
-
-
-
-
-
- Contact me on twitter if you need anything else :)
-
- Tweet to @93alan
-
-
-
-
-
-
-
-
- Check out Mobile DevCast
-
- A podcast dedicated to mobile app development and web native technology like ionic
- & capacitor!
-
-
-
- https://mobiledevcast.com
-
-
-
-
-
-
-
- {showModal && modalOptions && (
- setShowModal(false)}
- />
- )}
-
-
- );
-};
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab2.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab2.tsx
deleted file mode 100644
index db7a393..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab2.tsx
+++ /dev/null
@@ -1,109 +0,0 @@
-import { useEffect, useState } from 'react';
-import {
- archiveOutline,
- checkmarkOutline,
- mailOutline,
- mailUnreadOutline,
- mapOutline,
- personOutline,
- refreshOutline,
- settingsSharp,
-} from 'ionicons/icons';
-import { useSideMenuUpdate, useSideMenu } from '../main/SideMenuProvider';
-
-import './Tab2.css';
-import CustomPage from '../main/CustomPage';
-
-import { PageHeader } from '../components/PageHeader';
-import { Modal } from '../components/Modal';
-import {
- IonBadge,
- IonChip,
- IonGrid,
- IonItem,
- IonLabel,
- IonList,
- IonNote,
- IonPage,
-} from '@ionic/react';
-import { getInboxItems } from '../main/Utils';
-
-const Tab2 = (props) => {
- const pageName = 'Inbox';
- var { sideMenuOptions } = props;
- const setSideMenu = useSideMenuUpdate();
-
- const [Badge, setBadge] = useState(true);
- const [showModal, setShowModal] = useState(false);
- const [modalOptions, setModalOptions] = useState(false);
-
- const inboxItems = getInboxItems();
-
- const handleModal = async (index) => {
- await setModalOptions(sideMenuOptions[index]);
- setShowModal(true);
- };
-
- // Access other side menu options here
- const sideMenu = useSideMenu();
-
- useEffect(() => {
- if (props.location.pathname === '/tabs/tab2') {
- setSideMenu({ options: sideMenuOptions, side: 'start', pageName: pageName });
-
- sideMenuOptions = sideMenuOptions.filter((m) => m.title === 'Timestamp style')[0].clickEvent =
- () => setBadge((Badge) => !Badge);
- }
- }, [props.location]);
-
- return (
-
-
-
-
-
-
- {inboxItems.map((item, index) => {
- return (
-
-
- {item.sender}
- {item.subject}
- {item.message}
-
- {Badge && (
-
- {item.time}
-
- )}
-
- {!Badge && (
-
- {item.time}
-
- )}
-
- );
- })}
-
-
-
- {showModal && modalOptions && (
- setShowModal(false)}
- />
- )}
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab3.css b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab3.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab3.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab3.tsx
deleted file mode 100644
index f4b9c84..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/pages/Tab3.tsx
+++ /dev/null
@@ -1,112 +0,0 @@
-import { useEffect, useState } from 'react';
-import { useSideMenuUpdate, useSideMenu } from '../main/SideMenuProvider';
-
-import './Tab3.css';
-import CustomPage from '../main/CustomPage';
-
-import { PageHeader } from '../components/PageHeader';
-import { Modal } from '../components/Modal';
-import {
- IonPage,
- IonGrid,
- IonList,
- IonItem,
- IonLabel,
- IonAvatar,
- IonIcon,
- IonBadge,
-} from '@ionic/react';
-
-import { getPlaceItems } from '../main/Utils';
-
-const Tab3 = (props) => {
- const pageName = 'Places';
- const { sideMenuOptions } = props;
- const setSideMenu = useSideMenuUpdate();
-
- const initialPlaceItems = getPlaceItems();
- const [showModal, setShowModal] = useState(false);
- const [modalOptions, setModalOptions] = useState(false);
- const [placeItems, setPlaceItems] = useState(initialPlaceItems);
-
- const handleClick = async (item) => {
- await setModalOptions(item);
- setShowModal(true);
- };
-
- const search = (e) => {
- const searchVal = e.target.value;
- setPlaceItems(initialPlaceItems);
-
- if (searchVal !== '') {
- const newItems = initialPlaceItems.filter((item, index) => {
- if (item.name.toLowerCase().includes(searchVal.toLowerCase())) {
- item.originalIndex = index;
- return true;
- }
- });
-
- setPlaceItems(newItems);
- } else {
- setPlaceItems(initialPlaceItems);
- }
- };
-
- // Access other side menu options here
- const sideMenu = useSideMenu();
-
- useEffect(() => {
- if (props.location.pathname === '/tabs/tab3') {
- setSideMenu({ options: sideMenuOptions, side: 'start', pageName: pageName });
- }
- }, [props.location]);
-
- return (
-
-
-
-
-
-
- {placeItems.map((item, index) => {
- return (
- handleClick(item)}
- key={`placeItem_${index}`}
- detail={true}
- lines="full"
- >
-
-
-
-
- {item.name}
-
-
- {item.rating} / 10
-
-
- );
- })}
-
-
-
- {showModal && modalOptions && (
- setShowModal(false)}
- />
- )}
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/theme/SideMenu.css b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/theme/SideMenu.css
deleted file mode 100644
index 57ae101..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/theme/SideMenu.css
+++ /dev/null
@@ -1,24 +0,0 @@
-ion-menu ion-content {
-
- --padding-top: 1.5rem;
- --padding-bottom: 1.5rem;
-}
-
-ion-menu ion-item {
-
- --padding-start: 1rem;
- --min-height: 3.5rem;
- font-weight: 500;
-}
-
-ion-menu ion-item ion-icon {
-
- font-size: 1.6rem;
- color: #757575;
-}
-
-ion-menu ion-item .sub-menu-title {
-
- color: var(--ion-color-primary) !important;
- font-size: 0.75rem !important;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/theme/variables.css
deleted file mode 100644
index 8252431..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTabsMenusCustom/theme/variables.css
+++ /dev/null
@@ -1,236 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-:root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-}
-
-@media (prefers-color-scheme: dark) {
- /*
- * Dark Colors
- * -------------------------------------------
- */
-
- body {
- --ion-color-primary: #428cff;
- --ion-color-primary-rgb: 66,140,255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255,255,255;
- --ion-color-primary-shade: #3a7be0;
- --ion-color-primary-tint: #5598ff;
-
- --ion-color-secondary: #50c8ff;
- --ion-color-secondary-rgb: 80,200,255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255,255,255;
- --ion-color-secondary-shade: #46b0e0;
- --ion-color-secondary-tint: #62ceff;
-
- --ion-color-tertiary: #6a64ff;
- --ion-color-tertiary-rgb: 106,100,255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255,255,255;
- --ion-color-tertiary-shade: #5d58e0;
- --ion-color-tertiary-tint: #7974ff;
-
- --ion-color-success: #2fdf75;
- --ion-color-success-rgb: 47,223,117;
- --ion-color-success-contrast: #000000;
- --ion-color-success-contrast-rgb: 0,0,0;
- --ion-color-success-shade: #29c467;
- --ion-color-success-tint: #44e283;
-
- --ion-color-warning: #ffd534;
- --ion-color-warning-rgb: 255,213,52;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0,0,0;
- --ion-color-warning-shade: #e0bb2e;
- --ion-color-warning-tint: #ffd948;
-
- --ion-color-danger: #ff4961;
- --ion-color-danger-rgb: 255,73,97;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255,255,255;
- --ion-color-danger-shade: #e04055;
- --ion-color-danger-tint: #ff5b71;
-
- --ion-color-dark: #f4f5f8;
- --ion-color-dark-rgb: 244,245,248;
- --ion-color-dark-contrast: #000000;
- --ion-color-dark-contrast-rgb: 0,0,0;
- --ion-color-dark-shade: #d7d8da;
- --ion-color-dark-tint: #f5f6f9;
-
- --ion-color-medium: #989aa2;
- --ion-color-medium-rgb: 152,154,162;
- --ion-color-medium-contrast: #000000;
- --ion-color-medium-contrast-rgb: 0,0,0;
- --ion-color-medium-shade: #86888f;
- --ion-color-medium-tint: #a2a4ab;
-
- --ion-color-light: #222428;
- --ion-color-light-rgb: 34,36,40;
- --ion-color-light-contrast: #ffffff;
- --ion-color-light-contrast-rgb: 255,255,255;
- --ion-color-light-shade: #1e2023;
- --ion-color-light-tint: #383a3e;
- }
-
- /*
- * iOS Dark Theme
- * -------------------------------------------
- */
-
- .ios body {
- --ion-background-color: #000000;
- --ion-background-color-rgb: 0,0,0;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255,255,255;
-
- --ion-color-step-50: #0d0d0d;
- --ion-color-step-100: #1a1a1a;
- --ion-color-step-150: #262626;
- --ion-color-step-200: #333333;
- --ion-color-step-250: #404040;
- --ion-color-step-300: #4d4d4d;
- --ion-color-step-350: #595959;
- --ion-color-step-400: #666666;
- --ion-color-step-450: #737373;
- --ion-color-step-500: #808080;
- --ion-color-step-550: #8c8c8c;
- --ion-color-step-600: #999999;
- --ion-color-step-650: #a6a6a6;
- --ion-color-step-700: #b3b3b3;
- --ion-color-step-750: #bfbfbf;
- --ion-color-step-800: #cccccc;
- --ion-color-step-850: #d9d9d9;
- --ion-color-step-900: #e6e6e6;
- --ion-color-step-950: #f2f2f2;
-
- --ion-item-background: #000000;
-
- --ion-card-background: #1c1c1d;
- }
-
- .ios ion-modal {
- --ion-background-color: #000000;
- --ion-toolbar-background: #000000;
- --ion-toolbar-border-color: var(--ion-color-step-150);
- }
-
-
- /*
- * Material Design Dark Theme
- * -------------------------------------------
- */
-
- .md body {
- --ion-background-color: #121212;
- --ion-background-color-rgb: 18,18,18;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255,255,255;
-
- --ion-border-color: #222222;
-
- --ion-color-step-50: #1e1e1e;
- --ion-color-step-100: #2a2a2a;
- --ion-color-step-150: #363636;
- --ion-color-step-200: #414141;
- --ion-color-step-250: #4d4d4d;
- --ion-color-step-300: #595959;
- --ion-color-step-350: #656565;
- --ion-color-step-400: #717171;
- --ion-color-step-450: #7d7d7d;
- --ion-color-step-500: #898989;
- --ion-color-step-550: #949494;
- --ion-color-step-600: #a0a0a0;
- --ion-color-step-650: #acacac;
- --ion-color-step-700: #b8b8b8;
- --ion-color-step-750: #c4c4c4;
- --ion-color-step-800: #d0d0d0;
- --ion-color-step-850: #dbdbdb;
- --ion-color-step-900: #e7e7e7;
- --ion-color-step-950: #f3f3f3;
-
- --ion-item-background: #1e1e1e;
-
- --ion-toolbar-background: #1f1f1f;
-
- --ion-tab-bar-background: #1f1f1f;
-
- --ion-card-background: #1e1e1e;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/NOTES.md
deleted file mode 100644
index d94d884..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0160
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/components/ExploreContainer.scss b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/components/ExploreContainer.scss
deleted file mode 100644
index 11d2f90..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/components/ExploreContainer.scss
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/components/ExploreContainer.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/components/ExploreContainer.tsx
deleted file mode 100644
index 6648d50..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/components/ExploreContainer.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import React from 'react';
-import './ExploreContainer.scss';
-
-const ExploreContainer = ({ name }: { name: string }): React.JSX.Element => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/index.tsx
deleted file mode 100644
index fa21f90..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/index.tsx
+++ /dev/null
@@ -1,59 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import {
- brushOutline,
- cloudOutline,
- handLeftOutline,
- informationCircle,
- searchOutline,
-} from 'ionicons/icons';
-
-import { Route, Redirect } from 'react-router';
-
-import './theme/variables.scss';
-
-import ThemeStore from './store/ThemeStore';
-import Info from './pages/Info';
-import Themes from './pages/Themes';
-import Examples from './pages/Examples';
-
-function DemoReactThemeSwitcher() {
- const theme = ThemeStore.useState((s) => s.currentTheme);
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Info
-
-
-
- Themes
-
-
-
- Examples
-
-
-
-
- );
-}
-
-export default DemoReactThemeSwitcher;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Examples.scss b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Examples.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Examples.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Examples.tsx
deleted file mode 100644
index d47b976..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Examples.tsx
+++ /dev/null
@@ -1,126 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonPage,
- IonRange,
- IonRow,
- IonSelect,
- IonSelectOption,
- IonSpinner,
- IonText,
- IonTitle,
- IonToggle,
- IonToolbar,
-} from '@ionic/react';
-import { star, sunny } from 'ionicons/icons';
-import { useGetSelectedTheme } from '../store/ThemeStore';
-
-import './Examples.scss';
-
-const Examples = (): React.JSX.Element => {
- const currentTheme = useGetSelectedTheme();
-
- return (
-
-
-
- Examples
-
-
-
-
-
-
- Current Theme
- {currentTheme}
-
- Here are a few examples of how the theme looks on stock Ionic components.
-
-
-
-
-
-
- Buttons
- Main Color button
- Light Color button
-
-
-
-
-
- Toggle
-
-
- Toggle it on/off
-
-
-
-
-
-
-
- Select
-
- Pick an option
-
- Option 1
- Option 2
-
-
-
-
-
-
-
- Badge
-
- Awesome badge!!
-
-
- Woohoo!
-
-
-
-
-
-
-
- Spinner
-
- Loading, please wait...
-
-
-
-
-
-
-
-
-
- Range
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Examples;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Info.scss b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Info.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Info.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Info.tsx
deleted file mode 100644
index 91d2cee..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Info.tsx
+++ /dev/null
@@ -1,97 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonText,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { useGetSelectedTheme } from '../store/ThemeStore';
-import './Info.scss';
-import React from 'react';
-import { chevronBackOutline } from 'ionicons/icons';
-
-function Info(): React.JSX.Element {
- const currentTheme = useGetSelectedTheme();
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Info TS
-
-
-
-
-
-
-
-
-
-
-
- Current Theme
- {currentTheme}
-
-
- This is an example showing how to easily implement dynamic themes into an Ionic
- app. We could use the setProperty method, but you'll notice that we can pass a
- style object into the IonApp component - I feel like we have more control this
- way. With this in mind, we can utilise all of the Ionic color CSS variables and
- custom variables.
-
-
- Check out the setTheme
function
-
- I haven't over-rode every possible Ionic CSS variable, just a few of the
- core visually noticeable ones for this example.
-
-
-
-
-
-
-
- Switching themes
- Using global state
-
-
- We now know that our overall theme is controlled via a style object, so we can
- easily store this in state. In this example I'm using Pullstate, and updating the
- "currentTheme" on each change. I've mimicked an API call from local JSON data, as
- if it were a customer/client theme or branding.
-
-
-
-
-
-
- View Themes →
-
-
-
-
- );
-}
-
-export default Info;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Themes.scss b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Themes.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Themes.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Themes.tsx
deleted file mode 100644
index 6c6ec55..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/pages/Themes.tsx
+++ /dev/null
@@ -1,60 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { checkmark, checkmarkCircle, checkmarkOutline } from 'ionicons/icons';
-
-import ExploreContainer from '../components/ExploreContainer';
-
-import ThemeStore, { setTheme } from '../store/ThemeStore';
-import './Themes.scss';
-import React from 'react';
-
-const Themes = (): React.JSX.Element => {
- const themes = ThemeStore.useState((s: any) => s.themes);
- const selectedThemeID = ThemeStore.useState((s: any) => s.selectedID);
-
- return (
-
-
-
- Themes
-
-
-
- {/* */}
-
-
- {themes.map((theme: any, index: number) => {
- return (
- {
- console.log(theme.file);
- console.log(theme.id);
- setTheme(theme.file, theme.id);
- }}
- >
- {theme.id === selectedThemeID && (
-
-
-
- )}
-
-
- );
- })}
-
-
-
- );
-};
-
-export default Themes;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/store/ThemeStore.ts b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/store/ThemeStore.ts
deleted file mode 100644
index 7c0f64d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/store/ThemeStore.ts
+++ /dev/null
@@ -1,109 +0,0 @@
-import { Store } from 'pullstate';
-
-const ThemeStore = new Store({
- selectedID: '',
- currentTheme: {},
- themes: [
- {
- id: 1,
- name: 'Leafy Green',
- file: 'leafygreen.json',
- cover: '/assets/DemoReactThemeSwitcher/themes/covers/leafygreen.png',
- },
- {
- id: 2,
- name: 'Moody Blue',
- file: 'moodyblue.json',
- cover: '/assets/DemoReactThemeSwitcher/themes/covers/moodyblue.png',
- },
- {
- id: 3,
- name: 'Earthy Tones',
- file: 'earthytones.json',
- cover: '/assets/DemoReactThemeSwitcher/themes/covers/earthytones.png',
- },
- {
- id: 4,
- name: 'Peely Orange',
- file: 'peelyorange.json',
- cover: '/assets/DemoReactThemeSwitcher/themes/covers/peelyorange.png',
- },
- {
- id: 5,
- name: 'Firey Red',
- file: 'fireyred.json',
- cover: '/assets/DemoReactThemeSwitcher/themes/covers/fireyred.png',
- },
- {
- id: 6,
- name: 'Coffee Brown',
- file: 'coffeebrown.json',
- cover: '/assets/DemoReactThemeSwitcher/themes/covers/coffeebrown.png',
- },
- ],
-});
-
-export default ThemeStore;
-
-const buildTheme = (theme: any) => {
- const appTheme = {
- '--ion-toolbar-background': theme.toolbar_background_color,
- '--ion-tab-bar-background': theme.tab_bar_background_color,
- '--ion-toolbar-color': theme.toolbar_color,
- '--ion-tab-bar-color': theme.tab_bar_color,
- '--ion-tab-bar-color-selected': theme.tab_bar_activated_color,
-
- '--ion-color-main-light': theme.light_color,
- '--ion-color-main-light-shade': theme.light_color_shade,
- '--ion-color-main-light-tint': theme.light_color_tint,
-
- '--ion-color-main-color': theme.main_color,
-
- // Set primary to be the main color as well
- '--ion-color-primary': theme.main_color,
- '--ion-color-main-color-shade': theme.main_color_shade,
- '--ion-color-main-color-tint': theme.main_color_tint,
- };
-
- return appTheme;
-};
-
-export const useGetSelectedTheme = () => {
- const themes = ThemeStore.useState((s) => s.themes);
- const selectedID = ThemeStore.useState((s) => s.selectedID);
- var themeName = 'Default';
-
- if (selectedID) {
- const theme = themes.filter((t: any) => t.id === selectedID);
- if (theme && theme[0]) {
- themeName = theme[0].name;
- } else {
- themeName = 'false';
- }
- }
-
- return themeName;
-};
-
-export const setTheme = async (file: string, id: number) => {
- const response = await fetch(`/assets/DemoReactThemeSwitcher/themes/${file}`);
- const data = await response.json();
-
- const theme = buildTheme(data);
- ThemeStore.update((s) => {
- s.currentTheme = theme;
- });
- ThemeStore.update((s: any) => {
- s.selectedID = id.toString();
- });
-
- // We could also override the style properties
- // Using the setProperty method
- // But i feel, we have more control using global state
- // see below:
-
- // for (var themeVar in theme) {
-
- // document.documentElement.style.setProperty(themeVar, theme[themeVar]);
- // }
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/theme/variables.scss
deleted file mode 100644
index 8f035d7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactThemeSwitcher/theme/variables.scss
+++ /dev/null
@@ -1,130 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-.helloworld {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-
- --ion-color-main-light: #6439e4;
- --ion-color-main-light-contrast: #ffffff;
- --ion-color-main-light-shade: rgb(129, 121, 155);
- --ion-color-main-light-tint: rgb(70, 61, 97);
-
- --ion-color-main-color: #4b1cd8;
- --ion-color-main-color-contrast: #ffffff;
- --ion-color-main-color-shade: rgb(60, 35, 143);
- --ion-color-main-color-tint: rgb(35, 23, 66);
-
- /* --ion-background-color: #464646;
- --ion-background-color-rgb: 70,70,70; */
-
- --ion-toolbar-background: var(--ion-color-main-color);
- --ion-toolbar-color: white;
- --ion-tab-bar-background: var(--ion-color-main-color);
- --ion-tab-bar-color: rgb(103, 101, 231);
- --ion-tab-bar-color-selected: rgb(255, 255, 255);
-
- .ion-color-main-light {
- --ion-color-base: var(--ion-color-main-light);
- --ion-color-base-rgb: var(--ion-color-main-light-rgb);
- --ion-color-contrast: var(--ion-color-main-light-contrast);
- --ion-color-contrast-rgb: var(--ion-color-main-light-contrast-rgb);
- --ion-color-shade: var(--ion-color-main-light-shade);
- --ion-color-tint: var(--ion-color-main-light-tint);
- }
-
- .ion-color-main {
- --ion-color-base: var(--ion-color-main-color);
- --ion-color-base-rgb: var(--ion-color-main-color-rgb);
- --ion-color-contrast: var(--ion-color-main-color-contrast);
- --ion-color-contrast-rgb: var(--ion-color-main-color-contrast-rgb);
- --ion-color-shade: var(--ion-color-main-color-shade);
- --ion-color-tint: var(--ion-color-main-color-tint);
- }
-
- .selected-theme {
- position: absolute;
- background-color: rgba(77, 77, 77, 0.8);
- width: 95%;
- height: 95%;
- display: flex;
- justify-content: center;
- align-content: center;
- align-items: center;
- }
-
- .selected-theme ion-icon {
- color: white;
- font-size: 5rem;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/AllRoutes.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/AllRoutes.jsx
deleted file mode 100644
index 55c9d33..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/AllRoutes.jsx
+++ /dev/null
@@ -1,88 +0,0 @@
-// Main Tabs
-import Tab1 from '../pages/Tab1';
-import Tab2 from '../pages/Tab2';
-import Tab3 from '../pages/Tab3';
-
-// Main tab children
-import Place from '../pages/Place';
-
-// Sub pages
-// import InboxItem from "../../pages/InboxItem";
-
-// Tab icons
-// If using ionicons, import here and pass as ref to tabRoutes
-
-// Import custom tab menu
-import Tabs from '../TestComponents/Tabs';
-import SubPages from '../TestComponents/SubPages';
-
-// Array of objects representing tab pages
-// These will be the main tabs across the app
-
-// * PARAMS per tab object *
-// isTab = true will make the tab appear
-// default = the default tab page to open and be redirected to at "/"
-// NOTE: there should only be one default tab (default: true)
-// label = the label to show with the tab
-// component = the component related to this tab page
-// icon = icon to show on the tab bar menu
-// path = the path which the tab is accessible
-export const tabRoutes = [
- {
- label: 'Home',
- component: Tab1,
- icon: 'Home',
- path: '/tabs/home',
- default: true,
- isTab: true,
- },
- {
- label: 'Places',
- component: Tab2,
- icon: 'Location',
- path: '/tabs/places',
- default: false,
- isTab: true,
- },
- {
- label: 'Favourites',
- component: Tab3,
- icon: 'Heart',
- path: '/tabs/favourites',
- default: false,
- isTab: true,
- },
- // { label: "Profile", component: Tab3, icon: "User", path: "/tabs/profile", default: false, isTab: true },
-];
-
-// Array of objects representing children pages of tabs
-
-// * PARAMS per tab object *
-// isTab = should always be set to false for these
-// component = the component related to this tab page
-// path = the path which the tab is accessible
-
-// These pages should be related to tab pages and be held within the same path
-// E.g. /tabs/tab1/child
-const tabChildrenRoutes = [
- // { component: InboxItem, path: "/tabs/tab2/:id", isTab: false },
-];
-
-// Array of objects representing sub pages
-
-// * PARAMS per tab object *
-// component = the component related to this sub page
-// path = the path which the sub page is accessible
-
-// This array should be sub pages which are not directly related to a tab page
-// E.g. /child
-const subPageRoutes = [{ component: Place, path: '/view-place/:place_id' }];
-
-// Let's combine these together as they need to be controlled within the same IonRouterOutlet
-const tabsAndChildrenRoutes = [...tabRoutes, ...tabChildrenRoutes];
-
-// Render sub routes
-export const AllSubPages = () => ;
-
-// Render tab menu
-export const AllTabs = () => ;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/AppPages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/AppPages/Tab1.tsx
deleted file mode 100644
index d0329ce..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/AppPages/Tab1.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1(): React.JSX.Element {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords: any) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/AppPages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/AppPages/Tab2.tsx
deleted file mode 100644
index 0cace9f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/AppPages/Tab2.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import React, { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2(): React.JSX.Element {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city: string) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- e.target.value && setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/NOTES.md
deleted file mode 100644
index c4ef993..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0161
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/ExploreContainer.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/ExploreContainer.jsx
deleted file mode 100644
index 799b82a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/ExploreContainer.jsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import './ExploreContainer.css';
-
-const ExploreContainer = ({ name }) => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/LongPlaceCard.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/LongPlaceCard.jsx
deleted file mode 100644
index f7e9a92..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/LongPlaceCard.jsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { IonCard, IonCardTitle, IonNote } from '@ionic/react';
-import styles from '../styles/Home.module.scss';
-
-export const LongPlaceCard = ({ place = false }) => (
-
-
-
-
-
-
- {place.name}
- {place.destination}
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/PlaceCard.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/PlaceCard.jsx
deleted file mode 100644
index 0798143..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/PlaceCard.jsx
+++ /dev/null
@@ -1,102 +0,0 @@
-import {
- IonCard,
- IonCardHeader,
- IonCardTitle,
- IonNote,
- useIonToast,
- CreateAnimation,
- IonIcon,
-} from '@ionic/react';
-import { useState } from 'react';
-import { useRef } from 'react';
-import { Iconly } from 'react-iconly';
-import { heart, trashBin } from 'ionicons/icons';
-import { addFavourite } from '../store/PlacesStore';
-
-import styles from '../styles/Home.module.scss';
-
-const PlaceCard = ({ place = false, fromFavourites = false }) => {
- const animationRef = useRef(null);
- const cardRef = useRef(null);
- const [presentToast] = useIonToast();
- const [hideAnimatedIcon, setHideAnimatedIcon] = useState(true);
-
- const floatStyle = {
- display: hideAnimatedIcon ? 'none' : '',
- position: 'absolute',
- zIndex: '10',
- };
-
- const floatGrowAnimation = {
- property: 'transform',
- fromValue: 'translateY(0) scale(1)',
- toValue: 'translateY(-20px) scale(2)',
- };
-
- const mainAnimation = {
- duration: 600,
- iterations: '1',
- fromTo: [floatGrowAnimation],
- easing: 'cubic-bezier(0.25, 0.7, 0.25, 0.7)',
- };
-
- const handleAddFavourite = async (e, place) => {
- e.stopPropagation();
- e.preventDefault();
-
- if (fromFavourites) {
- // Add a fadeOut animation before removing
- cardRef.current.classList.add('animate__fadeOut');
-
- setTimeout(() => {
- addFavourite(place, fromFavourites);
- }, 500);
- } else {
- addFavourite(place, fromFavourites);
- }
-
- presentToast({
- header: `Favourite ${fromFavourites ? 'removed' : 'added'}!`,
- buttons: [
- {
- text: '♡',
- },
- ],
- message: `${place.name} has been ${fromFavourites ? 'removed from' : 'added to'} your favourites.`,
- duration: 1500,
- color: 'success',
- });
-
- setHideAnimatedIcon(false);
- await animationRef.current.animation.play();
- setHideAnimatedIcon(true);
- };
-
- return (
-
-
-
- {place && (
-
handleAddFavourite(e, place)}>
-
-
-
-
-
-
- )}
-
-
-
- {place ? place.name : 'Sorry'}
- {place ? place.destination : 'No results found'}
-
-
- );
-};
-
-export default PlaceCard;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/SubPages.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/SubPages.jsx
deleted file mode 100644
index 8aa7e7a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/SubPages.jsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Route } from 'react-router-dom';
-
-const SubPages = (props) => {
- return (
- <>
- {props.routes.map((route, i) => {
- const RouteComponent = route.component;
-
- return (
- }
- exact={false}
- />
- );
- })}
- >
- );
-};
-
-export default SubPages;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/Tabs.jsx b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/Tabs.jsx
deleted file mode 100644
index 2ea48aa..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/components/Tabs.jsx
+++ /dev/null
@@ -1,55 +0,0 @@
-import { IonTabBar, IonTabButton, IonTabs, IonRouterOutlet } from '@ionic/react';
-import { useState } from 'react';
-import { Iconly } from 'react-iconly';
-import { Route } from 'react-router-dom';
-
-const Tabs = (props) => {
- const [selected, setSelected] = useState('tab_1');
-
- return (
- setSelected(e.detail.tab)}>
-
- {props.tabs.map((tab, i) => {
- const TabComponent = tab.component;
-
- if (tab.isTab) {
- return (
- }
- exact={true}
- />
- );
- } else {
- return (
- }
- exact={false}
- />
- );
- }
- })}
-
-
-
- {props.tabs.map((tab, i) => {
- const isSelected = selected === `tab_${i + 1}`;
-
- if (tab.isTab) {
- return (
-
-
- {isSelected &&
}
-
- );
- }
- })}
-
-
- );
-};
-
-export default Tabs;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/data/fetcher.js b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/data/fetcher.js
deleted file mode 100644
index 2501a22..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/data/fetcher.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import { PlacesStore } from '../store';
-
-export const fetchData = async () => {
- const response = await fetch('/data.json');
- const data = await response.json();
-
- await data.forEach((place, i) => {
- delete place.desc;
-
- const placeName = place.name;
- const placeNameParts = placeName.split(',');
-
- place.id = i + 1;
- place.name = placeNameParts[0].trim();
- place.destination = placeNameParts[1].trim();
- });
-
- PlacesStore.update((s) => {
- s.places = data;
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/index.tsx
deleted file mode 100644
index 933ccff..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/index.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-// import { AllSubPages, AllTabs, tabRoutes } from './AllRoutes';
-
-import './style.scss';
-
-function DemoReactTravelApp() {
- return <>on hold>;
-
- // NOTE: i temporary make it constant to let the program keep develop
- // the below requires fixing, the AllRoutes is not found and it is a
- // jsx file, i want it tsx
- const hello_this_should_be_the_return = (
-
-
- } />
-
-
- t.default)[0].component} exact={true} />
- t.default)[0].path.toString()} />
-
-
- );
-}
-
-export default DemoReactTravelApp;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/style.scss b/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoReactTravelApp/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Bookmarks.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Bookmarks.jsx
deleted file mode 100644
index e782417..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Bookmarks.jsx
+++ /dev/null
@@ -1,74 +0,0 @@
-import {
- IonBackButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonImg,
- IonList,
- IonNote,
- IonPage,
- IonRow,
- IonText,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { RecipeListItem } from '../components/RecipeListItem';
-
-import { useStoreState } from 'pullstate';
-import { BookmarkStore } from '../store';
-import { getBookmarks } from '../store/Selectors';
-
-const Bookmarks = () => {
- const bookmarks = useStoreState(BookmarkStore, getBookmarks);
-
- return (
-
-
-
-
-
-
- Bookmarks
-
-
-
-
-
- Bookmarks ({bookmarks.length})
-
-
-
-
- {bookmarks.map((bookmark, index) => {
- return (
-
- );
- })}
-
-
- {bookmarks.length < 1 && (
- <>
-
-
- You don't have any bookmarks yet
-
-
- When viewing a recipe, press the bookmark icon to add it
-
-
-
-
-
-
-
-
-
- >
- )}
-
-
- );
-};
-
-export default Bookmarks;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Categories.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Categories.jsx
deleted file mode 100644
index 1269dda..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Categories.jsx
+++ /dev/null
@@ -1,126 +0,0 @@
-import { useEffect, useState } from 'react';
-import {
- IonButton,
- IonButtons,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import styles from './Categories.module.scss';
-import { recipes } from '../recipes';
-import { useRef } from 'react';
-import { Link } from 'react-router-dom';
-import { bookmarkOutline, chevronBackOutline } from 'ionicons/icons';
-import { getBookmarks } from '../store/Selectors';
-import { useStoreState } from 'pullstate';
-import { BookmarkStore } from '../store';
-
-const Categories = () => {
- const router = useIonRouter();
- const pageRef = useRef(null);
- const [recipeCategories, setRecipeCategories] = useState([]);
- const bookmarks = useStoreState(BookmarkStore, getBookmarks);
-
- useEffect(() => {
- const getAllRecipes = async () => {
- const tempRecipeCategories = [
- {
- name: 'Chicken',
- data: recipes.chicken.hits[0],
- },
- {
- name: 'Beef',
- data: recipes.beef.hits[0],
- },
- {
- name: 'Fish',
- data: recipes.fish.hits[0],
- },
- {
- name: 'Fruit',
- data: recipes.fruit.hits[0],
- },
- {
- name: 'Salad',
- data: recipes.salad.hits[0],
- },
- {
- name: 'Vegan',
- data: recipes.vegan.hits[0],
- },
- ];
-
- setRecipeCategories(tempRecipeCategories);
- };
-
- getAllRecipes();
- }, []);
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Recipe Categories
-
-
-
-
-
- {bookmarks.length}
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
- router.push('/search')}
- />
-
-
-
-
- {recipeCategories.map((category, index) => {
- const { name, data } = category;
- const { recipe } = data;
-
- return (
-
-
-
-
- {name}
-
-
-
- );
- })}
-
-
-
-
- );
-};
-
-export default Categories;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Categories.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Categories.module.scss
deleted file mode 100644
index 9382418..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Categories.module.scss
+++ /dev/null
@@ -1,65 +0,0 @@
-.categoryName {
-
- position: absolute;
- left: 0;
- top: 0;
- margin: 0 auto;
- z-index: 10;
- background-color: rgba(0, 0, 0, 0.3);
- border-radius: 10px;
- height: 100%;
- width: 100%;
-
- ion-card-title {
-
- color: white;
- margin-left: 0.5rem;
- margin-top: 0.5rem;
- padding: 0.5rem;
- width: fit-content;
- background-color: rgba(0, 0, 0, 0.5);
- border-radius: 10px;
- }
-}
-
-.row,
-.col,
-.card {
-
- padding: 0;
- background-color: white;
- border-radius: 10px;
-}
-
-.col {
-
- border: 5px solid white;
-
- img {
-
- border-radius: 10px;
- height: 100%;
- width: 100%;
- }
-}
-
-.searchArea {
-
- background-color: var(--ion-toolbar-background);
- padding-bottom: 0.5rem;
-
- ion-searchbar {
-
- color: white;
- --background: rgb(49, 49, 49);
- --icon-color: rgb(27, 173, 100);
- // --border-radius: 0;
- }
-}
-
-.searchButton {
-
- height: 2.2rem;
- margin-top: 0.9rem;
-
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Category.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Category.jsx
deleted file mode 100644
index 51a0d18..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Category.jsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import {
- IonBackButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonList,
- IonPage,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useEffect } from 'react';
-import { useState } from 'react';
-import { useParams } from 'react-router';
-import { RecipeListItem } from '../components/RecipeListItem';
-import { recipes } from '../recipes';
-
-const Category = () => {
- const { name } = useParams();
- const [categoryRecipes, setCategoryRecipes] = useState([]);
-
- useEffect(() => {
- setCategoryRecipes(recipes[name.toLowerCase()].hits);
- }, [name]);
-
- return (
-
-
-
-
-
-
- {name} Recipes
-
-
-
-
-
- {name} Recipes
-
-
-
-
- {categoryRecipes.map((categoryRecipe, index) => {
- const { recipe } = categoryRecipe;
-
- return ;
- })}
-
-
-
- );
-};
-
-export default Category;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Category.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Category.module.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Recipe.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Recipe.jsx
deleted file mode 100644
index 80df3fb..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Recipe.jsx
+++ /dev/null
@@ -1,193 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonList,
- IonListHeader,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonModal,
- useIonToast,
-} from '@ionic/react';
-import {
- bookmark,
- bookmarkOutline,
- informationCircleOutline,
- layersOutline,
- peopleOutline,
- timeOutline,
-} from 'ionicons/icons';
-import { useEffect, useRef } from 'react';
-import { useState } from 'react';
-import { useLocation } from 'react-router';
-import { Ingredient } from '../components/Ingredient';
-import IngredientsModal from '../components/IngredientsModal';
-import NutritionModal from '../components/NutritionModal';
-import BookmarkStore, { addToBookmarks } from '../store/BookmarkStore';
-import styles from './Recipe.module.scss';
-
-import { useStoreState } from 'pullstate';
-import { getBookmarks } from '../store/Selectors';
-
-const Recipe = () => {
- const pageRef = useRef(null);
- const { state } = useLocation();
- const [recipe, setRecipe] = useState([]);
- const [fromSearch, setFromSearch] = useState(false);
- const [fromBookmarks, setFromBookmarks] = useState(false);
-
- const bookmarks = useStoreState(BookmarkStore, getBookmarks);
-
- const [showToast] = useIonToast();
-
- const handleDismissIngredientsModal = () => {
- hideIngredientsModal();
- };
-
- const handleDismissNutritionModal = () => {
- hideNutritionModal();
- };
-
- const [showIngredientsModal, hideIngredientsModal] = useIonModal(IngredientsModal, {
- dismiss: handleDismissIngredientsModal,
- ingredients: recipe.ingredients,
- });
-
- const [showNutritionModal, hideNutritionModal] = useIonModal(NutritionModal, {
- dismiss: handleDismissNutritionModal,
- recipe,
- });
-
- useEffect(() => {
- if (state && state.recipe) {
- setRecipe(state.recipe);
- }
-
- if (state && state.fromSearch) {
- setFromSearch(state.fromSearch);
- }
-
- if (state && state.fromBookmarks) {
- setFromBookmarks(state.fromBookmarks);
- }
- }, [state]);
-
- const addBookmark = async () => {
- const added = addToBookmarks(recipe);
- showToast({
- message: added
- ? 'This recipe has been bookmarked!'
- : 'This recipe has been removed from your bookmarks.',
- duration: 2000,
- color: 'main',
- });
- };
-
- return (
-
-
-
- View Recipe
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{recipe.label}
-
{recipe.dishType && recipe.dishType[0]}
-
-
-
-
-
-
-
-
-
- serves {recipe.yield && recipe.yield}
-
-
-
-
-
-
- {recipe.totalTime !== 0
- ? `${recipe.totalWeight && recipe.totalWeight.toFixed(0)} mins`
- : 'N/A'}
-
-
-
-
-
-
-
- {recipe.totalWeight && recipe.totalWeight.toFixed(0)}g
-
-
-
-
-
-
- {/* showIngredientsModal({
-
- presentingElement: pageRef.current,
- cssClass: "customModal"
- })}>
-
- View Ingredients
- */}
-
-
-
- showNutritionModal({
- presentingElement: pageRef.current,
- cssClass: 'customModal',
- })
- }
- >
-
- View Nutrition
-
-
-
-
- {recipe.ingredients && (
-
- Ingredients ({recipe.ingredients.length})
- {recipe.ingredients.map((ingredient, index) => {
- return ;
- })}
-
- )}
-
-
-
- );
-};
-
-export default Recipe;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Recipe.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Recipe.module.scss
deleted file mode 100644
index 4da50a5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Recipe.module.scss
+++ /dev/null
@@ -1,37 +0,0 @@
-.headerImage {
-
- img {
-
- width: 100%;
- margin-top: -5rem;
- border-bottom: 5px solid var(--ion-color-main);
- }
-
- .headerInfo {
-
- position: absolute;
- top: 10rem;
- z-index: 10;
-
- background-color: rgba($color: #000000, $alpha: 0.8);
- color: white;
- padding: 1rem;
- border-top-right-radius: 10px;
- border-bottom-right-radius: 10px;
-
- h1 {
-
- font-size: 1.1rem;
- padding: 0;
- margin: 0;
- }
-
- p {
-
- font-size: 0.9rem;
- padding: 0;
- margin: 0;
- color: var(--ion-color-main);
- }
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Search.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Search.jsx
deleted file mode 100644
index 1541fbe..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/AppPages/Search.jsx
+++ /dev/null
@@ -1,120 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonImg,
- IonList,
- IonNote,
- IonPage,
- IonRow,
- IonSearchbar,
- IonText,
- IonTitle,
- IonToolbar,
- useIonLoading,
- useIonViewDidEnter,
-} from '@ionic/react';
-import { useState } from 'react';
-import { useRef } from 'react';
-import styles from './Categories.module.scss';
-import { performSearch } from '../utils';
-import { RecipeListItem } from '../components/RecipeListItem';
-
-const Search = () => {
- const searchRef = useRef(null);
- const [searchResults, setSearchResults] = useState([]);
- const [showLoader, hideLoader] = useIonLoading();
-
- useIonViewDidEnter(() => {
- searchRef.current.setFocus();
- });
-
- const search = async () => {
- showLoader({
- cssClass: 'customLoader',
- message: 'Searching...',
- duration: 9999999,
- spinner: 'dots',
- });
-
- const searchTerm = searchRef.current.value;
- const data = await performSearch(searchTerm);
-
- setSearchResults(data.hits);
-
- setTimeout(() => {
- hideLoader();
- }, 300);
- };
-
- return (
-
-
-
- Search Recipes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Search
-
-
-
-
-
-
- {searchResults.length > 0 && (
-
- {searchResults.map((result, index) => {
- const { recipe } = result;
-
- return ;
- })}
-
- )}
-
- {searchResults.length < 1 && (
- <>
-
-
- Search for a recipe then select from the list to view it
-
-
- For development purposes, only 20 results will be returned
-
-
-
-
-
-
-
-
-
- >
- )}
-
-
- );
-};
-
-export default Search;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/NOTES.md
deleted file mode 100644
index ed9ff89..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0162
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/Ingredient.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/Ingredient.jsx
deleted file mode 100644
index ca0790f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/Ingredient.jsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { IonItem, IonLabel } from '@ionic/react';
-import styles from './Ingredient.module.scss';
-
-export const Ingredient = ({ ingredient }) => {
- return (
-
-
-
- {ingredient.text}
- {ingredient.weight.toFixed(2)}g
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/Ingredient.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/Ingredient.module.scss
deleted file mode 100644
index be3dd16..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/Ingredient.module.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-.ingredientImage {
-
- height: 3rem;
- width: 3rem;
- border-radius: 10px;
- border: 1px solid rgb(172, 172, 172);
-}
-
-.ingredientItem {
-
- --padding-top: 1rem;
- --padding-bottom: 1rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/IngredientsModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/IngredientsModal.jsx
deleted file mode 100644
index 90df44c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/IngredientsModal.jsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonGrid,
- IonHeader,
- IonList,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { Ingredient } from './Ingredient';
-
-const IngredientsModal = ({ dismiss, ingredients }) => {
- return (
-
-
-
- View Ingredients
-
-
- Close
-
-
-
-
-
-
-
- {ingredients.map((ingredient, index) => {
- return ;
- })}
-
-
-
- );
-};
-
-export default IngredientsModal;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/NutritionModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/NutritionModal.jsx
deleted file mode 100644
index 3a06dbc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/NutritionModal.jsx
+++ /dev/null
@@ -1,86 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import NutritionalFact from './NutritionalFact';
-
-const NutritionModal = ({ dismiss, recipe }) => {
- return (
-
-
-
- View Nutrition
-
-
- Close
-
-
-
-
-
-
- {recipe && recipe.digest && (
-
-
-
-
- Based on a serving size of {recipe.totalWeight.toFixed(0)}g
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- )}
-
-
- );
-};
-
-export default NutritionModal;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/NutritionalFact.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/NutritionalFact.jsx
deleted file mode 100644
index 31a50b5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/NutritionalFact.jsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { IonCardTitle, IonCol, IonRow } from '@ionic/react';
-
-const NutritionalFact = ({ type, amount, inset }) => {
- const label = type
- .replace('_', ' ')
- .replace(/(^\w{1})|(\s+\w{1})/g, (letter) => letter.toUpperCase());
-
- return (
-
-
-
- {label}
-
-
-
-
-
- {amount}
- {type !== 'calories' && 'g'}
-
-
-
- );
-};
-
-export default NutritionalFact;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/RecipeListItem.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/RecipeListItem.jsx
deleted file mode 100644
index 5f07d97..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/RecipeListItem.jsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { IonItem, IonLabel } from '@ionic/react';
-import { Link } from 'react-router-dom';
-import styles from './RecipeListItem.module.scss';
-
-export const RecipeListItem = ({ recipe, fromSearch = false, fromBookmarks = false }) => (
-
-
-
-
-
- {recipe.label}
- {recipe.dishType && recipe.dishType[0]}
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/RecipeListItem.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/RecipeListItem.module.scss
deleted file mode 100644
index 99b0ab7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/TestComponents/RecipeListItem.module.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-.categoryDetails {
-
- margin-left: 1rem;
-}
-
-.categoryImage {
-
- width: 5rem;
- height: 5rem;
- border-radius: 10px;
-}
-
-.categoryItem {
-
- --padding-top: 1.5rem;
- --padding-bottom: 1.5rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/Ingredient.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/Ingredient.jsx
deleted file mode 100644
index ca0790f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/Ingredient.jsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import { IonItem, IonLabel } from '@ionic/react';
-import styles from './Ingredient.module.scss';
-
-export const Ingredient = ({ ingredient }) => {
- return (
-
-
-
- {ingredient.text}
- {ingredient.weight.toFixed(2)}g
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/Ingredient.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/Ingredient.module.scss
deleted file mode 100644
index be3dd16..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/Ingredient.module.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-.ingredientImage {
-
- height: 3rem;
- width: 3rem;
- border-radius: 10px;
- border: 1px solid rgb(172, 172, 172);
-}
-
-.ingredientItem {
-
- --padding-top: 1rem;
- --padding-bottom: 1rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/IngredientsModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/IngredientsModal.jsx
deleted file mode 100644
index 90df44c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/IngredientsModal.jsx
+++ /dev/null
@@ -1,40 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonGrid,
- IonHeader,
- IonList,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { Ingredient } from './Ingredient';
-
-const IngredientsModal = ({ dismiss, ingredients }) => {
- return (
-
-
-
- View Ingredients
-
-
- Close
-
-
-
-
-
-
-
- {ingredients.map((ingredient, index) => {
- return ;
- })}
-
-
-
- );
-};
-
-export default IngredientsModal;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/NutritionModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/NutritionModal.jsx
deleted file mode 100644
index 3a06dbc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/NutritionModal.jsx
+++ /dev/null
@@ -1,86 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import NutritionalFact from './NutritionalFact';
-
-const NutritionModal = ({ dismiss, recipe }) => {
- return (
-
-
-
- View Nutrition
-
-
- Close
-
-
-
-
-
-
- {recipe && recipe.digest && (
-
-
-
-
- Based on a serving size of {recipe.totalWeight.toFixed(0)}g
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- )}
-
-
- );
-};
-
-export default NutritionModal;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/NutritionalFact.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/NutritionalFact.jsx
deleted file mode 100644
index 31a50b5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/NutritionalFact.jsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { IonCardTitle, IonCol, IonRow } from '@ionic/react';
-
-const NutritionalFact = ({ type, amount, inset }) => {
- const label = type
- .replace('_', ' ')
- .replace(/(^\w{1})|(\s+\w{1})/g, (letter) => letter.toUpperCase());
-
- return (
-
-
-
- {label}
-
-
-
-
-
- {amount}
- {type !== 'calories' && 'g'}
-
-
-
- );
-};
-
-export default NutritionalFact;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/RecipeListItem.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/RecipeListItem.jsx
deleted file mode 100644
index 5f07d97..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/RecipeListItem.jsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import { IonItem, IonLabel } from '@ionic/react';
-import { Link } from 'react-router-dom';
-import styles from './RecipeListItem.module.scss';
-
-export const RecipeListItem = ({ recipe, fromSearch = false, fromBookmarks = false }) => (
-
-
-
-
-
- {recipe.label}
- {recipe.dishType && recipe.dishType[0]}
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/RecipeListItem.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/RecipeListItem.module.scss
deleted file mode 100644
index 99b0ab7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/components/RecipeListItem.module.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-.categoryDetails {
-
- margin-left: 1rem;
-}
-
-.categoryImage {
-
- width: 5rem;
- height: 5rem;
- border-radius: 10px;
-}
-
-.categoryItem {
-
- --padding-top: 1.5rem;
- --padding-bottom: 1.5rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/index.tsx
deleted file mode 100644
index 3aea3f0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/index.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Categories from './AppPages/Categories';
-import Recipe from './AppPages/Recipe';
-import Category from './AppPages/Category';
-import Search from './AppPages/Search';
-import Bookmarks from './AppPages/Bookmarks';
-
-import './style.scss';
-
-function DemoRecipeApp() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoRecipeApp;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Bookmarks.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Bookmarks.jsx
deleted file mode 100644
index 0b4fd0f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Bookmarks.jsx
+++ /dev/null
@@ -1,74 +0,0 @@
-import {
- IonBackButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonImg,
- IonList,
- IonNote,
- IonPage,
- IonRow,
- IonText,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { RecipeListItem } from '../components/RecipeListItem';
-
-import { useStoreState } from 'pullstate';
-import { BookmarkStore } from '../store';
-import { getBookmarks } from '../store/Selectors';
-
-const Bookmarks = () => {
- const bookmarks = useStoreState(BookmarkStore, getBookmarks);
-
- return (
-
-
-
-
-
-
- Bookmarks
-
-
-
-
-
- Bookmarks ({bookmarks.length})
-
-
-
-
- {bookmarks.map((bookmark, index) => {
- return (
-
- );
- })}
-
-
- {bookmarks.length < 1 && (
- <>
-
-
- You don't have any bookmarks yet
-
-
- When viewing a recipe, press the bookmark icon to add it
-
-
-
-
-
-
-
-
-
- >
- )}
-
-
- );
-};
-
-export default Bookmarks;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Categories.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Categories.jsx
deleted file mode 100644
index d124fdc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Categories.jsx
+++ /dev/null
@@ -1,116 +0,0 @@
-import { useEffect, useState } from 'react';
-import {
- IonButton,
- IonButtons,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import styles from './Categories.module.scss';
-import { recipes } from '../recipes';
-import { useRef } from 'react';
-import { Link } from 'react-router-dom';
-import { bookmarkOutline } from 'ionicons/icons';
-import { getBookmarks } from '../store/Selectors';
-import { useStoreState } from 'pullstate';
-import { BookmarkStore } from '../store';
-
-const Categories = () => {
- const router = useIonRouter();
- const pageRef = useRef();
- const [recipeCategories, setRecipeCategories] = useState([]);
- const bookmarks = useStoreState(BookmarkStore, getBookmarks);
-
- useEffect(() => {
- const getAllRecipes = async () => {
- const tempRecipeCategories = [
- {
- name: 'Chicken',
- data: recipes.chicken.hits[0],
- },
- {
- name: 'Beef',
- data: recipes.beef.hits[0],
- },
- {
- name: 'Fish',
- data: recipes.fish.hits[0],
- },
- {
- name: 'Fruit',
- data: recipes.fruit.hits[0],
- },
- {
- name: 'Salad',
- data: recipes.salad.hits[0],
- },
- {
- name: 'Vegan',
- data: recipes.vegan.hits[0],
- },
- ];
-
- setRecipeCategories(tempRecipeCategories);
- };
-
- getAllRecipes();
- }, []);
-
- return (
-
-
-
- Recipe Categories
-
-
-
-
-
- {bookmarks.length}
-
-
-
-
-
-
- router.push('/search')}
- />
-
-
-
-
- {recipeCategories.map((category, index) => {
- const { name, data } = category;
- const { recipe } = data;
-
- return (
-
-
-
-
- {name}
-
-
-
- );
- })}
-
-
-
-
- );
-};
-
-export default Categories;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Categories.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Categories.module.scss
deleted file mode 100644
index 9382418..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Categories.module.scss
+++ /dev/null
@@ -1,65 +0,0 @@
-.categoryName {
-
- position: absolute;
- left: 0;
- top: 0;
- margin: 0 auto;
- z-index: 10;
- background-color: rgba(0, 0, 0, 0.3);
- border-radius: 10px;
- height: 100%;
- width: 100%;
-
- ion-card-title {
-
- color: white;
- margin-left: 0.5rem;
- margin-top: 0.5rem;
- padding: 0.5rem;
- width: fit-content;
- background-color: rgba(0, 0, 0, 0.5);
- border-radius: 10px;
- }
-}
-
-.row,
-.col,
-.card {
-
- padding: 0;
- background-color: white;
- border-radius: 10px;
-}
-
-.col {
-
- border: 5px solid white;
-
- img {
-
- border-radius: 10px;
- height: 100%;
- width: 100%;
- }
-}
-
-.searchArea {
-
- background-color: var(--ion-toolbar-background);
- padding-bottom: 0.5rem;
-
- ion-searchbar {
-
- color: white;
- --background: rgb(49, 49, 49);
- --icon-color: rgb(27, 173, 100);
- // --border-radius: 0;
- }
-}
-
-.searchButton {
-
- height: 2.2rem;
- margin-top: 0.9rem;
-
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Category.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Category.jsx
deleted file mode 100644
index 51a0d18..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Category.jsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import {
- IonBackButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonList,
- IonPage,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useEffect } from 'react';
-import { useState } from 'react';
-import { useParams } from 'react-router';
-import { RecipeListItem } from '../components/RecipeListItem';
-import { recipes } from '../recipes';
-
-const Category = () => {
- const { name } = useParams();
- const [categoryRecipes, setCategoryRecipes] = useState([]);
-
- useEffect(() => {
- setCategoryRecipes(recipes[name.toLowerCase()].hits);
- }, [name]);
-
- return (
-
-
-
-
-
-
- {name} Recipes
-
-
-
-
-
- {name} Recipes
-
-
-
-
- {categoryRecipes.map((categoryRecipe, index) => {
- const { recipe } = categoryRecipe;
-
- return ;
- })}
-
-
-
- );
-};
-
-export default Category;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Category.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Category.module.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Recipe.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Recipe.jsx
deleted file mode 100644
index 464e62c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Recipe.jsx
+++ /dev/null
@@ -1,193 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonList,
- IonListHeader,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonModal,
- useIonToast,
-} from '@ionic/react';
-import {
- bookmark,
- bookmarkOutline,
- informationCircleOutline,
- layersOutline,
- peopleOutline,
- timeOutline,
-} from 'ionicons/icons';
-import { useEffect, useRef } from 'react';
-import { useState } from 'react';
-import { useLocation } from 'react-router';
-import { Ingredient } from '../components/Ingredient';
-import IngredientsModal from '../components/IngredientsModal';
-import NutritionModal from '../components/NutritionModal';
-import BookmarkStore, { addToBookmarks } from '../store/BookmarkStore';
-import styles from './Recipe.module.scss';
-
-import { useStoreState } from 'pullstate';
-import { getBookmarks } from '../store/Selectors';
-
-const Recipe = () => {
- const pageRef = useRef();
- const { state } = useLocation();
- const [recipe, setRecipe] = useState([]);
- const [fromSearch, setFromSearch] = useState(false);
- const [fromBookmarks, setFromBookmarks] = useState(false);
-
- const bookmarks = useStoreState(BookmarkStore, getBookmarks);
-
- const [showToast] = useIonToast();
-
- const handleDismissIngredientsModal = () => {
- hideIngredientsModal();
- };
-
- const handleDismissNutritionModal = () => {
- hideNutritionModal();
- };
-
- const [showIngredientsModal, hideIngredientsModal] = useIonModal(IngredientsModal, {
- dismiss: handleDismissIngredientsModal,
- ingredients: recipe.ingredients,
- });
-
- const [showNutritionModal, hideNutritionModal] = useIonModal(NutritionModal, {
- dismiss: handleDismissNutritionModal,
- recipe,
- });
-
- useEffect(() => {
- if (state && state.recipe) {
- setRecipe(state.recipe);
- }
-
- if (state && state.fromSearch) {
- setFromSearch(state.fromSearch);
- }
-
- if (state && state.fromBookmarks) {
- setFromBookmarks(state.fromBookmarks);
- }
- }, [state]);
-
- const addBookmark = async () => {
- const added = addToBookmarks(recipe);
- showToast({
- message: added
- ? 'This recipe has been bookmarked!'
- : 'This recipe has been removed from your bookmarks.',
- duration: 2000,
- color: 'main',
- });
- };
-
- return (
-
-
-
- View Recipe
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{recipe.label}
-
{recipe.dishType && recipe.dishType[0]}
-
-
-
-
-
-
-
-
-
- serves {recipe.yield && recipe.yield}
-
-
-
-
-
-
- {recipe.totalTime !== 0
- ? `${recipe.totalWeight && recipe.totalWeight.toFixed(0)} mins`
- : 'N/A'}
-
-
-
-
-
-
-
- {recipe.totalWeight && recipe.totalWeight.toFixed(0)}g
-
-
-
-
-
-
- {/* showIngredientsModal({
-
- presentingElement: pageRef.current,
- cssClass: "customModal"
- })}>
-
- View Ingredients
- */}
-
-
-
- showNutritionModal({
- presentingElement: pageRef.current,
- cssClass: 'customModal',
- })
- }
- >
-
- View Nutrition
-
-
-
-
- {recipe.ingredients && (
-
- Ingredients ({recipe.ingredients.length})
- {recipe.ingredients.map((ingredient, index) => {
- return ;
- })}
-
- )}
-
-
-
- );
-};
-
-export default Recipe;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Recipe.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Recipe.module.scss
deleted file mode 100644
index 4da50a5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Recipe.module.scss
+++ /dev/null
@@ -1,37 +0,0 @@
-.headerImage {
-
- img {
-
- width: 100%;
- margin-top: -5rem;
- border-bottom: 5px solid var(--ion-color-main);
- }
-
- .headerInfo {
-
- position: absolute;
- top: 10rem;
- z-index: 10;
-
- background-color: rgba($color: #000000, $alpha: 0.8);
- color: white;
- padding: 1rem;
- border-top-right-radius: 10px;
- border-bottom-right-radius: 10px;
-
- h1 {
-
- font-size: 1.1rem;
- padding: 0;
- margin: 0;
- }
-
- p {
-
- font-size: 0.9rem;
- padding: 0;
- margin: 0;
- color: var(--ion-color-main);
- }
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Search.jsx b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Search.jsx
deleted file mode 100644
index fbd84a9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/pages/Search.jsx
+++ /dev/null
@@ -1,120 +0,0 @@
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonImg,
- IonList,
- IonNote,
- IonPage,
- IonRow,
- IonSearchbar,
- IonText,
- IonTitle,
- IonToolbar,
- useIonLoading,
- useIonViewDidEnter,
-} from '@ionic/react';
-import { useState } from 'react';
-import { useRef } from 'react';
-import styles from './Categories.module.scss';
-import { performSearch } from '../utils';
-import { RecipeListItem } from '../components/RecipeListItem';
-
-const Search = () => {
- const searchRef = useRef();
- const [searchResults, setSearchResults] = useState([]);
- const [showLoader, hideLoader] = useIonLoading();
-
- useIonViewDidEnter(() => {
- searchRef.current.setFocus();
- });
-
- const search = async () => {
- showLoader({
- cssClass: 'customLoader',
- message: 'Searching...',
- duration: 9999999,
- spinner: 'dots',
- });
-
- const searchTerm = searchRef.current.value;
- const data = await performSearch(searchTerm);
-
- setSearchResults(data.hits);
-
- setTimeout(() => {
- hideLoader();
- }, 300);
- };
-
- return (
-
-
-
- Search Recipes
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Search
-
-
-
-
-
-
- {searchResults.length > 0 && (
-
- {searchResults.map((result, index) => {
- const { recipe } = result;
-
- return ;
- })}
-
- )}
-
- {searchResults.length < 1 && (
- <>
-
-
- Search for a recipe then select from the list to view it
-
-
- For development purposes, only 20 results will be returned
-
-
-
-
-
-
-
-
-
- >
- )}
-
-
- );
-};
-
-export default Search;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/recipes.js b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/recipes.js
deleted file mode 100644
index ef0b82f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/recipes.js
+++ /dev/null
@@ -1,85889 +0,0 @@
-export const chickenRecipes = {
- from: 1,
- to: 20,
- count: 10000,
- _links: {
- next: {
- href: 'https://api.edamam.com/api/recipes/v2?q=chicken&app_key=fd382a172ba8d6668c0430dc9c14a181&_cont=CHcVQBtNNQphDmgVQntAEX4BYldtBAAGRmxGC2ERYVJ2BwoVX3cVBWQSY1EhBQcGEmNHVmMTYFEgDQQCFTNJBGQUMQZxVhFqX3cWQT1OcV9xBB8VADQWVhFCPwoxXVZEITQeVDcBaR4-SQ%3D%3D&type=public&app_id=ea1d37d5',
- title: 'Next page',
- },
- },
- hits: [
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_b79327d05b8e5b838ad6cfd9576b30b6',
- label: 'Chicken Vesuvio',
- image: 'https://images.unsplash.com/photo-1612170153139-6f881ff067e0',
- source: 'Serious Eats',
- url: 'http://www.seriouseats.com/recipes/2011/12/chicken-vesuvio-recipe.html',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-vesuvio-b79327d05b8e5b838ad6cfd9576b30b6/chicken',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1/2 cup olive oil',
- '5 cloves garlic, peeled',
- '2 large russet potatoes, peeled and cut into chunks',
- '1 3-4 pound chicken, cut into 8 pieces (or 3 pound chicken legs)',
- '3/4 cup white wine',
- '3/4 cup chicken stock',
- '3 tablespoons chopped parsley',
- '1 tablespoon dried oregano',
- 'Salt and pepper',
- '1 cup frozen peas, thawed',
- ],
- ingredients: [
- {
- text: '1/2 cup olive oil',
- weight: 108,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '5 cloves garlic, peeled',
- weight: 15,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '2 large russet potatoes, peeled and cut into chunks',
- weight: 738,
- foodCategory: 'vegetables',
- foodId: 'food_brsjy86bq09pzgbmr4ri8bnohrf7',
- image: 'https://www.edamam.com/food-img/71b/71b3756ecfd3d1efa075874377038b67.jpg',
- },
- {
- text: '1 3-4 pound chicken, cut into 8 pieces (or 3 pound chicken legs)',
- weight: 1587.5732950000001,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '3/4 cup white wine',
- weight: 176.39999999999998,
- foodCategory: 'wines',
- foodId: 'food_bn44h7baron9ufaoxinmya8l0yye',
- image: 'https://www.edamam.com/food-img/a71/a718cf3c52add522128929f1f324d2ab.jpg',
- },
- {
- text: '3/4 cup chicken stock',
- weight: 180,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- {
- text: '3 tablespoons chopped parsley',
- weight: 11.399999999999999,
- foodCategory: 'vegetables',
- foodId: 'food_b244pqdazw24zobr5vqu2bf0uid8',
- image: 'https://www.edamam.com/food-img/46a/46a132e96626d7989b4d6ed8c91f4da0.jpg',
- },
- {
- text: '1 tablespoon dried oregano',
- weight: 2.9999999997971143,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bkkw6v3bdf0sqiazmzyuiax7i8jr',
- image: 'https://www.edamam.com/food-img/1b0/1b0eaffb1c261606e0d82fed8e9747a7.jpg',
- },
- {
- text: 'Salt and pepper',
- weight: 17.720239769998784,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Salt and pepper',
- weight: 8.860119884999392,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1 cup frozen peas, thawed',
- weight: 134,
- foodCategory: 'vegetables',
- foodId: 'food_aqrct01b4nxw5eaxoo8woaxc3xd7',
- image: 'https://www.edamam.com/food-img/c91/c9130a361d5c5b279bf48c69e2466ec2.jpg',
- },
- ],
- calories: 4228.043058200812,
- totalWeight: 2976.8664549004047,
- totalTime: 60,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 4228.043058200812,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 274.4489059026023,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 62.497618998656044,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.047163345382,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 147.39060633938868,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 47.35051984782951,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 175.96206666631727,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 19.83181033081862,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 16.239344767255698,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 230.72689680763318,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 815.06238045,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 6888.614561646296,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 400.0807431570531,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 478.1771035229573,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 5918.1808352043345,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 22.546435238210286,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 18.341531378501646,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2231.0712550999992,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 635.3716670147774,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 103.72979744959534,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.7264528338354403,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.9119200245119274,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 86.90416982948213,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 6.886357390963229,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 276.2712108159691,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 276.2712108159691,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 3.34660450586,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 2.1590996812000003,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 19.62869476856695,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 353.31486385948267,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1738.7966568296217,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 211.4021529100406,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 422.2290860040035,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 312.48809499328024,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 58.65402222210575,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 79.32724132327448,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 461.4537936152663,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 271.68746015,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 287.0256067352624,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 40.008074315705315,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 113.85169131498982,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 125.9187411745603,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 125.25797354561271,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 166.74119435001495,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 318.7244650142856,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 70.59685189053081,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 115.25533049955037,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 143.8710694862867,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 147.0707711163021,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 543.1510614342633,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 529.7197993048637,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 69.06780270399227,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 139.44185441083332,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 14.393997874666669,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 130.85796512377968,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 294.42905321623556,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 274.4489059026023,
- hasRDI: true,
- daily: 422.2290860040035,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 62.497618998656044,
- hasRDI: true,
- daily: 312.48809499328024,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.047163345382,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 147.39060633938868,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 47.35051984782951,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 175.96206666631727,
- hasRDI: true,
- daily: 58.65402222210575,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 156.13025633549864,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 19.83181033081862,
- hasRDI: true,
- daily: 79.32724132327448,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 16.239344767255698,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 230.72689680763318,
- hasRDI: true,
- daily: 461.4537936152663,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 815.06238045,
- hasRDI: true,
- daily: 271.68746015,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 6888.614561646296,
- hasRDI: true,
- daily: 287.0256067352624,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 400.0807431570531,
- hasRDI: true,
- daily: 40.008074315705315,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 478.1771035229573,
- hasRDI: true,
- daily: 113.85169131498982,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 5918.1808352043345,
- hasRDI: true,
- daily: 125.9187411745603,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 22.546435238210286,
- hasRDI: true,
- daily: 125.25797354561271,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 18.341531378501646,
- hasRDI: true,
- daily: 166.74119435001495,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2231.0712550999992,
- hasRDI: true,
- daily: 318.7244650142856,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 635.3716670147774,
- hasRDI: true,
- daily: 70.59685189053081,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 103.72979744959534,
- hasRDI: true,
- daily: 115.25533049955037,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.7264528338354403,
- hasRDI: true,
- daily: 143.8710694862867,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.9119200245119274,
- hasRDI: true,
- daily: 147.0707711163021,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 86.90416982948213,
- hasRDI: true,
- daily: 543.1510614342633,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 6.886357390963229,
- hasRDI: true,
- daily: 529.7197993048637,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 276.2712108159691,
- hasRDI: true,
- daily: 69.06780270399227,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 276.2712108159691,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 3.34660450586,
- hasRDI: true,
- daily: 139.44185441083332,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 2.1590996812000003,
- hasRDI: true,
- daily: 14.393997874666669,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 19.62869476856695,
- hasRDI: true,
- daily: 130.85796512377968,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 353.31486385948267,
- hasRDI: true,
- daily: 294.42905321623556,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1738.7966568296217,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/b79327d05b8e5b838ad6cfd9576b30b6?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_8275bb28647abcedef0baaf2dcf34f8b',
- label: 'Chicken Paprikash',
- image: 'https://www.edamam.com/web-img/e12/e12b8c5581226d7639168f41d126f2ff.jpg',
- source: 'No Recipes',
- url: 'http://norecipes.com/recipe/chicken-paprikash/',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-paprikash-8275bb28647abcedef0baaf2dcf34f8b/chicken',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '640 grams chicken - drumsticks and thighs ( 3 whole chicken legs cut apart)',
- '1/2 teaspoon salt',
- '1/4 teaspoon black pepper',
- '1 tablespoon butter – cultured unsalted (or olive oil)',
- '240 grams onion sliced thin (1 large onion)',
- '70 grams Anaheim pepper chopped (1 large pepper)',
- '25 grams paprika (about 1/4 cup)',
- '1 cup chicken stock',
- '1/2 teaspoon salt',
- '1/2 cup sour cream',
- '1 tablespoon flour – all-purpose',
- ],
- ingredients: [
- {
- text: '640 grams chicken - drumsticks and thighs ( 3 whole chicken legs cut apart)',
- weight: 640,
- foodCategory: 'Poultry',
- foodId: 'food_agzvc6lbxg03stab195szars32lx',
- image: 'https://www.edamam.com/food-img/491/4916353c22bd1ac381ac81d55597ddbe.jpg',
- },
- {
- text: '640 grams chicken - drumsticks and thighs ( 3 whole chicken legs cut apart)',
- weight: 640,
- foodCategory: 'Poultry',
- foodId: 'food_bsarl08be0gwarb34bpviafna9d4',
- image: 'https://www.edamam.com/food-img/007/00792642367e1f55de680762f85cfb3b.jpg',
- },
- {
- text: '1/2 teaspoon salt',
- weight: 3,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1/4 teaspoon black pepper',
- weight: 0.725,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1 tablespoon butter – cultured unsalted (or olive oil)',
- weight: 13.5,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '240 grams onion sliced thin (1 large onion)',
- weight: 78.125,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '70 grams Anaheim pepper chopped (1 large pepper)',
- weight: 56.25,
- foodCategory: 'vegetables',
- foodId: 'food_bv2gevdbd1orbiarnp1vfaez1r85',
- image: 'https://www.edamam.com/food-img/73f/73ff2eeb21372fe15b0ec51f9ecf368d.jpeg',
- },
- {
- text: '25 grams paprika (about 1/4 cup)',
- weight: 27.200000000459866,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a9dpcnjb883g67b3lq82ca0421ql',
- image: 'https://www.edamam.com/food-img/474/474d63763b9d8b9da98c5f43a114648c.jpg',
- },
- {
- text: '1 cup chicken stock',
- weight: 240,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- {
- text: '1/2 teaspoon salt',
- weight: 3,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1/2 cup sour cream',
- weight: 115,
- foodCategory: 'Dairy',
- foodId: 'food_adp9fcubzl3lr7bcvzn3rbfiiiwq',
- image: 'https://www.edamam.com/food-img/f9d/f9d6183267b041b0aff9a10b89c9c15f.jpg',
- },
- {
- text: '1 tablespoon flour – all-purpose',
- weight: 7.8124999998679145,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- ],
- calories: 3033.2012500008163,
- totalWeight: 1824.6125000003276,
- totalTime: 0,
- cuisineType: ['central europe'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3033.2012500008163,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 208.05040250005803,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 61.207636375009635,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.8448,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 85.78187337500766,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 39.88905187503517,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 47.816761250147486,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 12.059037500156926,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 16.123463750047193,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 236.58131375005138,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1283,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 3945.65975000031,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 326.0403750010333,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 324.8095000007895,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 4014.232125010343,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 16.44184625009567,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 22.48163750001899,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2388.5722500013017,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1144.9192500113265,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 143.94730000000413,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.310280500001359,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.988508750005604,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 67.97661300004462,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 5.478774250009787,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 101.71375000019098,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 101.71375000019098,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 7.682,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.7400000000000002,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 13.406427500133741,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 71.52511250036889,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1319.0028025000358,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 151.6600625000408,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 320.0775423077816,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 306.03818187504817,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 15.938920416715828,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 48.2361500006277,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 473.16262750010276,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 427.6666666666667,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 164.40248958334624,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 32.60403750010333,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 77.33559523828322,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 85.40919414915624,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 91.34359027830926,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 204.3785227274454,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 341.2246071430431,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 127.2132500012585,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 159.94144444444905,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 109.19004166677993,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 229.88528846196954,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 424.8538312502789,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 421.4441730776759,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 25.428437500047743,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 320.08333333333337,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 11.600000000000001,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 89.37618333422493,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 59.60426041697407,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 208.05040250005803,
- hasRDI: true,
- daily: 320.0775423077816,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 61.207636375009635,
- hasRDI: true,
- daily: 306.03818187504817,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.8448,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 85.78187337500766,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 39.88905187503517,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 47.816761250147486,
- hasRDI: true,
- daily: 15.938920416715828,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 35.75772374999056,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 12.059037500156926,
- hasRDI: true,
- daily: 48.2361500006277,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 16.123463750047193,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 236.58131375005138,
- hasRDI: true,
- daily: 473.16262750010276,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1283,
- hasRDI: true,
- daily: 427.6666666666667,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 3945.65975000031,
- hasRDI: true,
- daily: 164.40248958334624,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 326.0403750010333,
- hasRDI: true,
- daily: 32.60403750010333,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 324.8095000007895,
- hasRDI: true,
- daily: 77.33559523828322,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 4014.232125010343,
- hasRDI: true,
- daily: 85.40919414915624,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 16.44184625009567,
- hasRDI: true,
- daily: 91.34359027830926,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 22.48163750001899,
- hasRDI: true,
- daily: 204.3785227274454,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2388.5722500013017,
- hasRDI: true,
- daily: 341.2246071430431,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1144.9192500113265,
- hasRDI: true,
- daily: 127.2132500012585,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 143.94730000000413,
- hasRDI: true,
- daily: 159.94144444444905,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.310280500001359,
- hasRDI: true,
- daily: 109.19004166677993,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.988508750005604,
- hasRDI: true,
- daily: 229.88528846196954,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 67.97661300004462,
- hasRDI: true,
- daily: 424.8538312502789,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 5.478774250009787,
- hasRDI: true,
- daily: 421.4441730776759,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 101.71375000019098,
- hasRDI: true,
- daily: 25.428437500047743,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 101.71375000019098,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 7.682,
- hasRDI: true,
- daily: 320.08333333333337,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.7400000000000002,
- hasRDI: true,
- daily: 11.600000000000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 13.406427500133741,
- hasRDI: true,
- daily: 89.37618333422493,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 71.52511250036889,
- hasRDI: true,
- daily: 59.60426041697407,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1319.0028025000358,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/8275bb28647abcedef0baaf2dcf34f8b?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_be3ba087e212f13672b553ecfa876333',
- label: 'Baked Chicken',
- image: 'https://www.edamam.com/web-img/01c/01cacb70890274fb7b7cebb975a93231.jpg',
- source: 'Martha Stewart',
- url: 'http://www.marthastewart.com/318981/baked-chicken',
- shareAs:
- 'http://www.edamam.com/recipe/baked-chicken-be3ba087e212f13672b553ecfa876333/chicken',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Paleo',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- ],
- cautions: ['FODMAP'],
- ingredientLines: [
- '6 bone-in chicken breast halves, or 6 chicken thighs and wings, skin-on',
- '1/2 teaspoon coarse salt',
- '1/2 teaspoon Mrs. Dash seasoning',
- '1/4 teaspoon freshly ground black pepper',
- ],
- ingredients: [
- {
- text: '6 bone-in chicken breast halves, or 6 chicken thighs and wings, skin-on',
- weight: 522,
- foodCategory: 'Poultry',
- foodId: 'food_a9hdg97b1sqqs5aj1al75bbo5iyt',
- image: 'https://www.edamam.com/food-img/093/093749f4c93e448119fc81976d2c3067.jpg',
- },
- {
- text: '1/2 teaspoon coarse salt',
- weight: 2.4270833334564377,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1/2 teaspoon Mrs. Dash seasoning',
- weight: 0.75,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_aj7w3xab0epj7cbgkbkpwadysovd',
- image: 'https://www.edamam.com/food-img/c23/c23e20823b442067307aa436969358f1.jpg',
- },
- {
- text: '1/4 teaspoon freshly ground black pepper',
- weight: 0.575,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- ],
- calories: 901.58575,
- totalWeight: 525.6156350198669,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['starter'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 901.58575,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 48.36022,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 13.917879,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.5480999999999999,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 19.953694249999998,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 10.251458499999998,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 0.8596375,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0.230225,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 0.01718,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 108.9686675,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 334.08,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1216.981821,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 67.98700240476805,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 133.18615635019867,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1161.3550008015893,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 4.19094159556556,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 4.208683135019868,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 910.471,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 126.42524999999999,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.09,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.33146099999999995,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.4461675,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 51.74860724999999,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.77817325,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 22.01275,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 22.01275,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1.7748,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 2.088,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.42528,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 6.981775,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 362.7272512700397,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 45.0792875,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 74.40033846153847,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 69.589395,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 0.28654583333333333,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0.9209,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 217.937335,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 111.36,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 50.707575875,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 6.798700240476805,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 31.71098960719016,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 24.709680868118923,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 23.283008864253112,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 38.26075577290789,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 130.06728571428573,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 14.04725,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.1,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 27.62175,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 34.32057692307692,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 323.4287953125,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 213.70563461538458,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 5.5031875,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 73.95,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 13.92,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 9.501866666666668,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 5.818145833333333,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 48.36022,
- hasRDI: true,
- daily: 74.40033846153847,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 13.917879,
- hasRDI: true,
- daily: 69.589395,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.5480999999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 19.953694249999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 10.251458499999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 0.8596375,
- hasRDI: true,
- daily: 0.28654583333333333,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 0.6294125,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 0.230225,
- hasRDI: true,
- daily: 0.9209,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 0.01718,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 108.9686675,
- hasRDI: true,
- daily: 217.937335,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 334.08,
- hasRDI: true,
- daily: 111.36,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1216.981821,
- hasRDI: true,
- daily: 50.707575875,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 67.98700240476805,
- hasRDI: true,
- daily: 6.798700240476805,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 133.18615635019867,
- hasRDI: true,
- daily: 31.71098960719016,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1161.3550008015893,
- hasRDI: true,
- daily: 24.709680868118923,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 4.19094159556556,
- hasRDI: true,
- daily: 23.283008864253112,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 4.208683135019868,
- hasRDI: true,
- daily: 38.26075577290789,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 910.471,
- hasRDI: true,
- daily: 130.06728571428573,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 126.42524999999999,
- hasRDI: true,
- daily: 14.04725,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0.09,
- hasRDI: true,
- daily: 0.1,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.33146099999999995,
- hasRDI: true,
- daily: 27.62175,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.4461675,
- hasRDI: true,
- daily: 34.32057692307692,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 51.74860724999999,
- hasRDI: true,
- daily: 323.4287953125,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.77817325,
- hasRDI: true,
- daily: 213.70563461538458,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 22.01275,
- hasRDI: true,
- daily: 5.5031875,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 22.01275,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 1.7748,
- hasRDI: true,
- daily: 73.95,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 2.088,
- hasRDI: true,
- daily: 13.92,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 1.42528,
- hasRDI: true,
- daily: 9.501866666666668,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 6.981775,
- hasRDI: true,
- daily: 5.818145833333333,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 362.7272512700397,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/be3ba087e212f13672b553ecfa876333?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_2463f2482609d7a471dbbf3b268bd956',
- label: 'Catalan Chicken',
- image: 'https://www.edamam.com/web-img/4d9/4d9084cbc170789caa9e997108b595de.jpg',
- source: 'Bon Appetit',
- url: 'http://www.bonappetit.com/columns/breadwinner/article/how-to-get-your-kids-to-eat-sauce-let-them-cook-it-themselves',
- shareAs:
- 'http://www.edamam.com/recipe/catalan-chicken-2463f2482609d7a471dbbf3b268bd956/chicken',
- yield: 14,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Paleo',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'No oil added',
- 'Sulfite-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 whole 4-pound chicken, quartered',
- '8 slices bacon',
- '30 cloves garlic',
- '3 lemons, peeled, rinds thinly sliced and reserved',
- '½ cup Banyuls or another fortified dessert wine',
- '1 cup veal or chicken stock',
- ],
- ingredients: [
- {
- text: '1 whole 4-pound chicken, quartered',
- weight: 1200,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '8 slices bacon',
- weight: 232,
- foodCategory: 'cured meats',
- foodId: 'food_av0awb0bgs18qub01sd9kbx44b61',
- image: 'https://www.edamam.com/food-img/d42/d426884a125fa39a70d5a5d7217864ec.jpg',
- },
- {
- text: '30 cloves garlic',
- weight: 90,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '3 lemons, peeled, rinds thinly sliced and reserved',
- weight: 174,
- foodCategory: 'fruit',
- foodId: 'food_a6uzc62astrxcgbtzyq59b6fncrr',
- image: 'https://www.edamam.com/food-img/70a/70acba3d4c734d7c70ef4efeed85dc8f.jpg',
- },
- {
- text: '½ cup Banyuls or another fortified dessert wine',
- weight: 51.5,
- foodCategory: 'wines',
- foodId: 'food_a9b1edjayi2e3kae6qvpvb0l2zaf',
- image: 'https://www.edamam.com/food-img/ea0/ea026d474cb3f9c0b3302eeaa5232151.jpg',
- },
- {
- text: '1 cup veal or chicken stock',
- weight: 240,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- ],
- calories: 3900.8,
- totalWeight: 1987.5,
- totalTime: 0,
- cuisineType: ['french'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3900.8,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 276.65279999999996,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 83.48508,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.47256,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 116.76431999999998,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 54.623439999999995,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 64.46275,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 6.7620000000000005,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 15.368699999999999,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 266.2674,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1060.32,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2742.4550000000004,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 363.06,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 318.495,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3627.76,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 14.9528,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 19.978049999999996,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2333.0550000000003,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 521.66,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 139.98,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.7031899999999998,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.9749899999999998,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 95.658335,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 6.214219999999999,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 105.84,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 105.84,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 4.88,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 3.3280000000000003,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 5.0026,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 20.01,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1359.53665,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 195.04,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 425.6196923076922,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 417.42539999999997,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 21.487583333333333,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 27.048000000000002,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 532.5348,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 353.44,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 114.26895833333336,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 36.306,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 75.83214285714286,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 77.1863829787234,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 83.07111111111111,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 181.61863636363634,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 333.29357142857145,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 57.96222222222222,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 155.5333333333333,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 141.9325,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 151.92230769230767,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 597.8645937499999,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 478.016923076923,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 26.46,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 203.33333333333334,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 22.186666666666667,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 33.35066666666667,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 16.675,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 276.65279999999996,
- hasRDI: true,
- daily: 425.6196923076922,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 83.48508,
- hasRDI: true,
- daily: 417.42539999999997,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.47256,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 116.76431999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 54.623439999999995,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 64.46275,
- hasRDI: true,
- daily: 21.487583333333333,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 57.70075,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 6.7620000000000005,
- hasRDI: true,
- daily: 27.048000000000002,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 15.368699999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 266.2674,
- hasRDI: true,
- daily: 532.5348,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1060.32,
- hasRDI: true,
- daily: 353.44,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2742.4550000000004,
- hasRDI: true,
- daily: 114.26895833333336,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 363.06,
- hasRDI: true,
- daily: 36.306,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 318.495,
- hasRDI: true,
- daily: 75.83214285714286,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3627.76,
- hasRDI: true,
- daily: 77.1863829787234,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 14.9528,
- hasRDI: true,
- daily: 83.07111111111111,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 19.978049999999996,
- hasRDI: true,
- daily: 181.61863636363634,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2333.0550000000003,
- hasRDI: true,
- daily: 333.29357142857145,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 521.66,
- hasRDI: true,
- daily: 57.96222222222222,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 139.98,
- hasRDI: true,
- daily: 155.5333333333333,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.7031899999999998,
- hasRDI: true,
- daily: 141.9325,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.9749899999999998,
- hasRDI: true,
- daily: 151.92230769230767,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 95.658335,
- hasRDI: true,
- daily: 597.8645937499999,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 6.214219999999999,
- hasRDI: true,
- daily: 478.016923076923,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 105.84,
- hasRDI: true,
- daily: 26.46,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 105.84,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 4.88,
- hasRDI: true,
- daily: 203.33333333333334,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 3.3280000000000003,
- hasRDI: true,
- daily: 22.186666666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 5.0026,
- hasRDI: true,
- daily: 33.35066666666667,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 20.01,
- hasRDI: true,
- daily: 16.675,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1359.53665,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/2463f2482609d7a471dbbf3b268bd956?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_4caf01683bf99ddc7c08c35774aae54c',
- label: 'Persian Chicken',
- image: 'https://www.edamam.com/web-img/8f8/8f810dfe198fa3e520d291f3fcf62bbf.jpg',
- source: 'BBC Good Food',
- url: 'http://www.bbcgoodfood.com/recipes/7343/',
- shareAs:
- 'http://www.edamam.com/recipe/persian-chicken-4caf01683bf99ddc7c08c35774aae54c/chicken',
- yield: 5,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Gluten-Free',
- 'Wheat-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '2 large onions',
- '750 g chicken',
- '500 g mushrooms',
- '1 cup water',
- '1 cup red wine',
- '2 teaspoons chicken stock',
- '200 ml mayonnaise',
- '200 ml cream',
- 'small bunch of parsley',
- '1 teaspoon curry powder',
- ],
- ingredients: [
- {
- text: '2 large onions',
- weight: 300,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '750 g chicken',
- weight: 750,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '500 g mushrooms',
- weight: 500,
- foodCategory: 'vegetables',
- foodId: 'food_bvlose6arfl26ra396sjrb7hetqh',
- image: 'https://www.edamam.com/food-img/d63/d639cf4a2afc7407c1d1ce286028136b.jpg',
- },
- {
- text: '1 cup water',
- weight: 237,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- {
- text: '1 cup red wine',
- weight: 235.2,
- foodCategory: 'wines',
- foodId: 'food_b5q0xv2ba8la5hbzdfzdgaca3fwu',
- image: 'https://www.edamam.com/food-img/82b/82b8d0db2d5c38fc7498a657c0afc4ee.JPG',
- },
- {
- text: '2 teaspoons chicken stock',
- weight: 10.00000000050721,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- {
- text: '200 ml mayonnaise',
- weight: 195.2759811031433,
- foodCategory: 'condiments and sauces',
- foodId: 'food_bu8t61zaplle7dbrzk81dbygq0qj',
- image: 'https://www.edamam.com/food-img/577/577308a0422357885c94cc9b5f1f1862.jpg',
- },
- {
- text: '200 ml cream',
- weight: 201.53157530298427,
- foodCategory: 'Dairy',
- foodId: 'food_bvhbvd7bwy6a7wamfrmvmbmen1sz',
- image: 'https://www.edamam.com/food-img/484/4848d71f6a14dd5076083f5e17925420.jpg',
- },
- {
- text: 'small bunch of parsley',
- weight: 45,
- foodCategory: 'vegetables',
- foodId: 'food_b244pqdazw24zobr5vqu2bf0uid8',
- image: 'https://www.edamam.com/food-img/46a/46a132e96626d7989b4d6ed8c91f4da0.jpg',
- },
- {
- text: '1 teaspoon curry powder',
- weight: 2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_ao4koeoajh7yjxaq2knzrbv55y8o',
- image: 'https://www.edamam.com/food-img/9ce/9ce02a2887385fd2adaec8dd8adcf9c5.jpg',
- },
- ],
- calories: 4115.31372402923,
- totalWeight: 2476.0075564066346,
- totalTime: 0,
- cuisineType: ['middle eastern'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 4115.31372402923,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 340.63488831153063,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 101.69895025064643,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.7275,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 106.42951848978652,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 118.2007671143163,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 60.39955095097116,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 12.649,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 30.296670950961275,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 164.42033729372395,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 915.0558907953296,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1824.7524095809965,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 396.32152394695504,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 297.70121027122923,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 4178.55268147777,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 14.21537947259196,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 14.341002623197575,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1834.685576687987,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1325.3647744952705,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 105.79318945181892,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.094816946566834,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 3.3421967328337137,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 70.81039531437621,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.7401622095790854,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 267.4332630121447,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 267.4332630121447,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 2.887756835545372,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 3.91072102712089,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 5.3415346982117855,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 759.8558104096965,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1829.8568521078193,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 205.7656862014615,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 524.0536743254318,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 508.49475125323215,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 20.13318365032372,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 50.596,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 328.8406745874479,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 305.0186302651099,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 76.0313503992082,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 39.6321523946955,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 70.88124054076886,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 88.90537620165469,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 78.97433040328866,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 130.37275111997795,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 262.09793952685527,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 147.2627527216967,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 117.5479882797988,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 91.23474554723617,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 257.0920563718241,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 442.5649707148513,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 287.70478535223737,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 66.85831575303618,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 120.32320148105717,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 26.071473514139267,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 35.6102313214119,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 633.2131753414137,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 340.63488831153063,
- hasRDI: true,
- daily: 524.0536743254318,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 101.69895025064643,
- hasRDI: true,
- daily: 508.49475125323215,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.7275,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 106.42951848978652,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 118.2007671143163,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 60.39955095097116,
- hasRDI: true,
- daily: 20.13318365032372,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 47.75055095097116,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 12.649,
- hasRDI: true,
- daily: 50.596,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 30.296670950961275,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 164.42033729372395,
- hasRDI: true,
- daily: 328.8406745874479,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 915.0558907953296,
- hasRDI: true,
- daily: 305.0186302651099,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1824.7524095809965,
- hasRDI: true,
- daily: 76.0313503992082,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 396.32152394695504,
- hasRDI: true,
- daily: 39.6321523946955,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 297.70121027122923,
- hasRDI: true,
- daily: 70.88124054076886,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 4178.55268147777,
- hasRDI: true,
- daily: 88.90537620165469,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 14.21537947259196,
- hasRDI: true,
- daily: 78.97433040328866,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 14.341002623197575,
- hasRDI: true,
- daily: 130.37275111997795,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1834.685576687987,
- hasRDI: true,
- daily: 262.09793952685527,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1325.3647744952705,
- hasRDI: true,
- daily: 147.2627527216967,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 105.79318945181892,
- hasRDI: true,
- daily: 117.5479882797988,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.094816946566834,
- hasRDI: true,
- daily: 91.23474554723617,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 3.3421967328337137,
- hasRDI: true,
- daily: 257.0920563718241,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 70.81039531437621,
- hasRDI: true,
- daily: 442.5649707148513,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.7401622095790854,
- hasRDI: true,
- daily: 287.70478535223737,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 267.4332630121447,
- hasRDI: true,
- daily: 66.85831575303618,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 267.4332630121447,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 2.887756835545372,
- hasRDI: true,
- daily: 120.32320148105717,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 3.91072102712089,
- hasRDI: true,
- daily: 26.071473514139267,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 5.3415346982117855,
- hasRDI: true,
- daily: 35.6102313214119,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 759.8558104096965,
- hasRDI: true,
- daily: 633.2131753414137,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1829.8568521078193,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/4caf01683bf99ddc7c08c35774aae54c?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_a7c379c59775dd0c7c88710f7fecff81',
- label: 'Chicken Stew',
- image: 'https://www.edamam.com/web-img/74b/74bfb16655500083c4af92bcf45889f7.jpg',
- source: 'Food52',
- url: 'https://food52.com/recipes/83097-chicken-stew',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-stew-a7c379c59775dd0c7c88710f7fecff81/chicken',
- yield: 4,
- dietLabels: [],
- healthLabels: [
- 'Paleo',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 pound chicken cut in pieces',
- '4 carrots',
- '1 onion',
- '1 leek',
- '1 green pepper',
- 'kosher salt',
- 'Freshly ground black pepper',
- 'Extra Virgin Olive Oil',
- '1 cup white wine',
- 'Chicken broth',
- ],
- ingredients: [
- {
- text: '1 pound chicken cut in pieces',
- weight: 453.59237,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '4 carrots',
- weight: 244,
- foodCategory: 'vegetables',
- foodId: 'food_ai215e5b85pdh5ajd4aafa3w2zm8',
- image: 'https://www.edamam.com/food-img/121/121e33fce0bb9546ed7d060b6c114e29.jpg',
- },
- {
- text: '1 onion',
- weight: 125,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1 leek',
- weight: 89,
- foodCategory: 'vegetables',
- foodId: 'food_a27jevnb06c1m9ax7k41xbbcwcuo',
- image: 'https://www.edamam.com/food-img/4ae/4ae9e09d029a28e0e2c64bdfdbf3f6ae.jpg',
- },
- {
- text: '1 green pepper',
- weight: 116.28888888888889,
- foodCategory: 'vegetables',
- foodId: 'food_bz8rcwobbzm7zhb3wh2n7aznivou',
- image: 'https://www.edamam.com/food-img/629/629dc9fddc1f8aec27fa337dd6ce2b7c.jpg',
- },
- {
- text: 'kosher salt',
- weight: 7.578487553333335,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Freshly ground black pepper',
- weight: 3.7892437766666673,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: 'Extra Virgin Olive Oil',
- weight: 17.17790512088889,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '1 cup white wine',
- weight: 235.2,
- foodCategory: 'wines',
- foodId: 'food_bn44h7baron9ufaoxinmya8l0yye',
- image: 'https://www.edamam.com/food-img/a71/a718cf3c52add522128929f1f324d2ab.jpg',
- },
- {
- text: 'Chicken broth',
- weight: 252.61625177777785,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- ],
- calories: 1647.980907065869,
- totalWeight: 1543.5979816137524,
- totalTime: 70,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1647.980907065869,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 89.81913152245268,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 23.031228283225754,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.4399845989000001,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 42.398837451219094,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 17.56112288716005,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 70.49527952737833,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 13.49458978660778,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 29.401041271592888,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 97.27173723764012,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 347.7727650533334,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 3573.482932523408,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 270.6726634159516,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 209.22095303859533,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2667.6196938292937,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 8.993759483110317,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 7.68606367803631,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 959.3679548249112,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 2321.724130037477,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 135.58497709022222,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.7146481600676889,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.035666185698,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 38.60529223489397,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.8248730190856555,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 181.54141511981112,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 181.54141511981112,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1.4061363470000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.9071847400000002,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 6.825468394547111,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 107.93738677651179,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1246.7609451726719,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 82.39904535329345,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 138.18327926531182,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 115.15614141612878,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 23.498426509126112,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 53.978359146431124,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 194.54347447528025,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 115.92425501777781,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 148.89512218847534,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 27.06726634159516,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 49.81451262823698,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 56.75786582615519,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 49.96533046172399,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 69.87330616396645,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 137.05256497498732,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 257.9693477819419,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 150.64997454469136,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 59.55401333897409,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 79.66662966907693,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 241.28307646808733,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 217.29792454505042,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 45.38535377995279,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 58.58901445833334,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 6.047898266666667,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 45.50312263031408,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 89.94782231375983,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 89.81913152245268,
- hasRDI: true,
- daily: 138.18327926531182,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 23.031228283225754,
- hasRDI: true,
- daily: 115.15614141612878,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.4399845989000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 42.398837451219094,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 17.56112288716005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 70.49527952737833,
- hasRDI: true,
- daily: 23.498426509126112,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 57.000689740770554,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 13.49458978660778,
- hasRDI: true,
- daily: 53.978359146431124,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 29.401041271592888,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 97.27173723764012,
- hasRDI: true,
- daily: 194.54347447528025,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 347.7727650533334,
- hasRDI: true,
- daily: 115.92425501777781,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 3573.482932523408,
- hasRDI: true,
- daily: 148.89512218847534,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 270.6726634159516,
- hasRDI: true,
- daily: 27.06726634159516,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 209.22095303859533,
- hasRDI: true,
- daily: 49.81451262823698,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2667.6196938292937,
- hasRDI: true,
- daily: 56.75786582615519,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 8.993759483110317,
- hasRDI: true,
- daily: 49.96533046172399,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 7.68606367803631,
- hasRDI: true,
- daily: 69.87330616396645,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 959.3679548249112,
- hasRDI: true,
- daily: 137.05256497498732,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 2321.724130037477,
- hasRDI: true,
- daily: 257.9693477819419,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 135.58497709022222,
- hasRDI: true,
- daily: 150.64997454469136,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.7146481600676889,
- hasRDI: true,
- daily: 59.55401333897409,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.035666185698,
- hasRDI: true,
- daily: 79.66662966907693,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 38.60529223489397,
- hasRDI: true,
- daily: 241.28307646808733,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.8248730190856555,
- hasRDI: true,
- daily: 217.29792454505042,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 181.54141511981112,
- hasRDI: true,
- daily: 45.38535377995279,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 181.54141511981112,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 1.4061363470000001,
- hasRDI: true,
- daily: 58.58901445833334,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.9071847400000002,
- hasRDI: true,
- daily: 6.047898266666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 6.825468394547111,
- hasRDI: true,
- daily: 45.50312263031408,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 107.93738677651179,
- hasRDI: true,
- daily: 89.94782231375983,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1246.7609451726719,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/a7c379c59775dd0c7c88710f7fecff81?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_690c3797b4f56fc1e119c14096d651c5',
- label: 'Roast Chicken',
- image: 'https://www.edamam.com/web-img/25f/25feccd2eed4722604be4a9ffa1ac768.jpg',
- source: 'San Francisco Gate',
- url: 'http://www.sfgate.com/food/recipes/detail.html?rid=18229&sorig=qs',
- shareAs:
- 'http://www.edamam.com/recipe/roast-chicken-690c3797b4f56fc1e119c14096d651c5/chicken',
- yield: 10,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Kidney-Friendly',
- 'Keto-Friendly',
- 'Paleo',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- 'Immuno-Supportive',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 whole chicken, about 3-4 pounds',
- '-- Salt and fresh-ground pepper, to taste',
- '3 to 4 sprigs thyme, or other herbs',
- '-- Olive oil, to taste',
- '-- Chicken stock (optional)',
- ],
- ingredients: [
- {
- text: '1 whole chicken, about 3-4 pounds',
- weight: 1587.5732950000001,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '-- Salt and fresh-ground pepper, to taste',
- weight: 9.58843977,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '3 to 4 sprigs thyme, or other herbs',
- weight: 10.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b3o3cj7a5gskecb0ufphtadnbfqb',
- image: 'https://www.edamam.com/food-img/3e7/3e7cf3c8d767a90b906447f5e74059f7.jpg',
- },
- {
- text: '-- Olive oil, to taste',
- weight: 21.733796812,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '-- Chicken stock (optional)',
- weight: 319.6146590000001,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- ],
- calories: 2638.8251983480804,
- totalWeight: 1947.9257318387613,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2638.8251983480804,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 188.32577871436,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 50.60459884905096,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.047163345382,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 85.08976786082334,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 37.89314651357677,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 13.849647462700002,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 1.47,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 5.049911612200002,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 209.4343597584,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 819.25082022,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 4510.086493078291,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 173.12221565054267,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 245.5795942902676,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2440.787247134261,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 12.369161748835513,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 14.788117415486761,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1684.3642236120002,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 470.801581236,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 34.722526767599994,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.7646350350100001,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.61658726887,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 78.674400857766,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 4.00992938409,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 85.478723386,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 85.478723386,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 3.34660450586,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 2.1590996812000003,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 6.453333762022,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 29.916222607824004,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1013.7734060424935,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 131.94125991740404,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 289.7319672528616,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 253.0229942452548,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 4.616549154233334,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 5.88,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 418.86871951680007,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 273.08360674,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 187.9202705449288,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 17.31222156505427,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 58.471331973873234,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 51.93164355604811,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 68.7175652713084,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 134.43743104987965,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 240.623460516,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 52.311286804,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 38.58058529733333,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 63.71958625083334,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 124.35286683615384,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 491.7150053610375,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 308.45610646846154,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 21.3696808465,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 139.44185441083332,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 14.393997874666669,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 43.02222508014667,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 24.93018550652,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 188.32577871436,
- hasRDI: true,
- daily: 289.7319672528616,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 50.60459884905096,
- hasRDI: true,
- daily: 253.0229942452548,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.047163345382,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 85.08976786082334,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 37.89314651357677,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 13.849647462700002,
- hasRDI: true,
- daily: 4.616549154233334,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 12.379647462700001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 1.47,
- hasRDI: true,
- daily: 5.88,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 5.049911612200002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 209.4343597584,
- hasRDI: true,
- daily: 418.86871951680007,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 819.25082022,
- hasRDI: true,
- daily: 273.08360674,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 4510.086493078291,
- hasRDI: true,
- daily: 187.9202705449288,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 173.12221565054267,
- hasRDI: true,
- daily: 17.31222156505427,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 245.5795942902676,
- hasRDI: true,
- daily: 58.471331973873234,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2440.787247134261,
- hasRDI: true,
- daily: 51.93164355604811,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 12.369161748835513,
- hasRDI: true,
- daily: 68.7175652713084,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 14.788117415486761,
- hasRDI: true,
- daily: 134.43743104987965,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1684.3642236120002,
- hasRDI: true,
- daily: 240.623460516,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 470.801581236,
- hasRDI: true,
- daily: 52.311286804,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 34.722526767599994,
- hasRDI: true,
- daily: 38.58058529733333,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.7646350350100001,
- hasRDI: true,
- daily: 63.71958625083334,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.61658726887,
- hasRDI: true,
- daily: 124.35286683615384,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 78.674400857766,
- hasRDI: true,
- daily: 491.7150053610375,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 4.00992938409,
- hasRDI: true,
- daily: 308.45610646846154,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 85.478723386,
- hasRDI: true,
- daily: 21.3696808465,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 85.478723386,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 3.34660450586,
- hasRDI: true,
- daily: 139.44185441083332,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 2.1590996812000003,
- hasRDI: true,
- daily: 14.393997874666669,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 6.453333762022,
- hasRDI: true,
- daily: 43.02222508014667,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 29.916222607824004,
- hasRDI: true,
- daily: 24.93018550652,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1013.7734060424935,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/690c3797b4f56fc1e119c14096d651c5?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_9ca0499f2ac7f1e4cae63bdf4671c1b3',
- label: 'Chicken Liver Pâté',
- image: 'https://www.edamam.com/web-img/480/480000e79dbdd4648c4acd65630ff654.jpg',
- source: 'Saveur',
- url: 'http://www.saveur.com/article/Recipes/Classic-Chicken-Pate',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-liver-p%C3%A2t%C3%A9-9ca0499f2ac7f1e4cae63bdf4671c1b3/chicken',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Sugar-Conscious',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '8 oz. chicken livers, cleaned',
- '4 cups chicken stock',
- '2 tbsp. rendered chicken fat or unsalted butter',
- '½ medium yellow onion, minced',
- '1½ tbsp. cognac or brandy',
- '2 hard-boiled eggs',
- 'Kosher salt and freshly ground black pepper, to taste',
- 'Toast points, for serving',
- ],
- ingredients: [
- {
- text: '8 oz. chicken livers, cleaned',
- weight: 226.796185,
- foodCategory: 'Poultry',
- foodId: 'food_a9xs7abb632dn3aozv3w4a9351fh',
- image: 'https://www.edamam.com/food-img/9aa/9aa4760ac12b682555a37a1cdc91150b.jpg',
- },
- {
- text: '4 cups chicken stock',
- weight: 960,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- {
- text: '2 tbsp. rendered chicken fat or unsalted butter',
- weight: 28.2499999995224,
- foodCategory: 'cured meats',
- foodId: 'food_a146ueba4s2j2ya6rknjeaum2mko',
- image: null,
- },
- {
- text: '½ medium yellow onion, minced',
- weight: 55,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1½ tbsp. cognac or brandy',
- weight: 20.9999999995266,
- foodCategory: 'liquors and cocktails',
- foodId: 'food_ajguqpia53yz3oah6w2frad3tz65',
- image: 'https://www.edamam.com/food-img/c7f/c7fcc63de96b349534aade3de3f9fa7d.jpg',
- },
- {
- text: '2 hard-boiled eggs',
- weight: 80,
- foodCategory: 'Eggs',
- foodId: 'food_a2y52zfbr22uq1ah5thnqac607ft',
- image: 'https://www.edamam.com/food-img/e54/e54c012fabed0f9cf211a817d1e23c5c.jpg',
- },
- {
- text: 'Kosher salt and freshly ground black pepper, to taste',
- weight: 8.370277109994293,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Kosher salt and freshly ground black pepper, to taste',
- weight: 4.185138554997146,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: 'Toast points, for serving',
- weight: 24,
- foodCategory: 'bread, rolls and tortillas',
- foodId: 'food_apk1psxaqtsilfbfxoa5hbxfgdg4',
- image: 'https://www.edamam.com/food-img/6c0/6c0c1e866e0106b960d1463a9bdc54db.jpg',
- },
- ],
- calories: 1149.3071579176606,
- totalWeight: 1403.013109609151,
- totalTime: 0,
- cuisineType: ['french'],
- mealType: ['brunch'],
- dishType: ['starter'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1149.3071579176606,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 60.2872412519177,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 18.59619900008277,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.14741752025000002,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 23.669510024373537,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 9.578013358828558,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 57.63780825642067,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 3.121840054414278,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 19.963584886751985,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 76.79992539786387,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1137.0493382495367,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 3253.8844582984625,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 158.9239872518578,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 116.34567993959617,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1824.8317597802393,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 24.918058879171266,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 8.764693074359098,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1141.4496883668335,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 7608.239745009798,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 46.63451711500001,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.2180983138893495,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 5.377976918698905,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 39.13951151048009,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.733492711245013,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 1451.9230413543498,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 1443.5230413543497,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 4.8,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 38.51623247299957,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.7600000000000002,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 2.8116987359719703,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 10.599071814530328,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1187.1557198867463,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 57.465357895883024,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 92.74960192602724,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 92.98099500041386,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 19.21260275214022,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 12.487360217657113,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 153.59985079572775,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 379.0164460831789,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 135.57851909576928,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 15.89239872518578,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 27.701352366570518,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 38.82620765489871,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 138.43366043984037,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 79.67902794871907,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 163.06424119526193,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 845.3599716677553,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 51.81613012777779,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 101.50819282411247,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 413.6905322076081,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 244.62194694050058,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 210.26867009577026,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 362.9807603385874,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1604.8430197083153,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 11.733333333333336,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 18.744658239813134,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 8.83255984544194,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 60.2872412519177,
- hasRDI: true,
- daily: 92.74960192602724,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 18.59619900008277,
- hasRDI: true,
- daily: 92.98099500041386,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.14741752025000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 23.669510024373537,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 9.578013358828558,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 57.63780825642067,
- hasRDI: true,
- daily: 19.21260275214022,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 54.51596820200639,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 3.121840054414278,
- hasRDI: true,
- daily: 12.487360217657113,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 19.963584886751985,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 76.79992539786387,
- hasRDI: true,
- daily: 153.59985079572775,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1137.0493382495367,
- hasRDI: true,
- daily: 379.0164460831789,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 3253.8844582984625,
- hasRDI: true,
- daily: 135.57851909576928,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 158.9239872518578,
- hasRDI: true,
- daily: 15.89239872518578,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 116.34567993959617,
- hasRDI: true,
- daily: 27.701352366570518,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1824.8317597802393,
- hasRDI: true,
- daily: 38.82620765489871,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 24.918058879171266,
- hasRDI: true,
- daily: 138.43366043984037,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 8.764693074359098,
- hasRDI: true,
- daily: 79.67902794871907,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1141.4496883668335,
- hasRDI: true,
- daily: 163.06424119526193,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 7608.239745009798,
- hasRDI: true,
- daily: 845.3599716677553,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 46.63451711500001,
- hasRDI: true,
- daily: 51.81613012777779,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.2180983138893495,
- hasRDI: true,
- daily: 101.50819282411247,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 5.377976918698905,
- hasRDI: true,
- daily: 413.6905322076081,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 39.13951151048009,
- hasRDI: true,
- daily: 244.62194694050058,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.733492711245013,
- hasRDI: true,
- daily: 210.26867009577026,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 1451.9230413543498,
- hasRDI: true,
- daily: 362.9807603385874,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 1443.5230413543497,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 4.8,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 38.51623247299957,
- hasRDI: true,
- daily: 1604.8430197083153,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.7600000000000002,
- hasRDI: true,
- daily: 11.733333333333336,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 2.8116987359719703,
- hasRDI: true,
- daily: 18.744658239813134,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 10.599071814530328,
- hasRDI: true,
- daily: 8.83255984544194,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1187.1557198867463,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/9ca0499f2ac7f1e4cae63bdf4671c1b3?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_1817e7fccea9ae39d09c0e2c7fb86cb2',
- label: 'Kreplach (Chicken Dumplings)',
- image: 'https://www.edamam.com/web-img/4dd/4dd1c7a0d8b00e8929bd6babf0968ba2.jpg',
- source: 'Tasting Table',
- url: 'https://www.tastingtable.com/entry_detail/chefs_recipes/10154/Matzo_balls_watch_your_back.htm',
- shareAs:
- 'http://www.edamam.com/recipe/kreplach-chicken-dumplings-1817e7fccea9ae39d09c0e2c7fb86cb2/chicken',
- yield: 8,
- dietLabels: [],
- healthLabels: [
- 'Mediterranean',
- 'Dairy-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1½ teaspoons canola oil',
- '½ small shallot, finely chopped',
- '1 cup (about ½ pound) raw, boneless chicken meat (preferably from 3 boneless chicken thighs), roughly chopped',
- '⅔ cup (about ¼ pound) chicken skin and fat (reserved from the 3 chicken thighs)',
- '2 chicken livers (optional)',
- '2 garlic cloves, finely chopped',
- '¼ cup finely chopped chives, plus extra for serving',
- '1¼ teaspoons kosher salt',
- '¾ teaspoon freshly ground black pepper',
- '30 to 34 square wonton wrappers',
- '8 cups store-bought or homemade chicken broth',
- ],
- ingredients: [
- {
- text: '1½ teaspoons canola oil',
- weight: 6.75,
- foodCategory: 'Oils',
- foodId: 'food_bk9p9aaavhvoq4bqsnprobpsiuxs',
- image: 'https://www.edamam.com/food-img/07e/07e106ab3536d57428e5c46d009038f8.jpg',
- },
- {
- text: '½ small shallot, finely chopped',
- weight: 20,
- foodCategory: 'vegetables',
- foodId: 'food_bu2ver7a5f52dfap8q9f0bn085qb',
- image: 'https://www.edamam.com/food-img/d23/d23e3be21df05e9e16c05eadb12341e7.jpeg',
- },
- {
- text: '1 cup (about ½ pound) raw, boneless chicken meat (preferably from 3 boneless chicken thighs), roughly chopped',
- weight: 226.796185,
- foodCategory: 'Poultry',
- foodId: 'food_bm8j53kbu73enhamxkr92a7x5nq6',
- image: 'https://www.edamam.com/food-img/e54/e546d27ffc3d338f99031ce1423cd331.jpg',
- },
- {
- text: '⅔ cup (about ¼ pound) chicken skin and fat (reserved from the 3 chicken thighs)',
- weight: 113.3980925,
- foodCategory: 'Poultry',
- foodId: 'food_bsarl08be0gwarb34bpviafna9d4',
- image: 'https://www.edamam.com/food-img/007/00792642367e1f55de680762f85cfb3b.jpg',
- },
- {
- text: '2 chicken livers (optional)',
- weight: 88,
- foodCategory: 'Poultry',
- foodId: 'food_a9xs7abb632dn3aozv3w4a9351fh',
- image: 'https://www.edamam.com/food-img/9aa/9aa4760ac12b682555a37a1cdc91150b.jpg',
- },
- {
- text: '2 garlic cloves, finely chopped',
- weight: 6,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '¼ cup finely chopped chives, plus extra for serving',
- weight: 12.000000000202874,
- foodCategory: 'vegetables',
- foodId: 'food_btg1uzjak79lawbirsitkaeai60l',
- image: 'https://www.edamam.com/food-img/f3f/f3f48643a924ba174b894e979cb48620.jpg',
- },
- {
- text: '1¼ teaspoons kosher salt',
- weight: 6.067708333641094,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '¾ teaspoon freshly ground black pepper',
- weight: 1.7249999999999999,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '30 to 34 square wonton wrappers',
- weight: 1024,
- foodCategory: 'quick breads and pastries',
- foodId: 'food_aciwn4ebx5qeeobklsjebb6s408x',
- image: 'https://www.edamam.com/food-img/64e/64e52edbb86d08069012c6a331738ace.jpg',
- },
- {
- text: '8 cups store-bought or homemade chicken broth',
- weight: 1920,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- ],
- calories: 4387.196994575062,
- totalWeight: 3418.669277500203,
- totalTime: 10,
- cuisineType: ['italian'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 4387.196994575062,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 75.41498066225148,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 17.7009890662003,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.18025087862500003,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 28.480051034500192,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 19.089343754475543,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 668.5666327312588,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 19.934425000005074,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 32.20304000000375,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 232.32389635250667,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 723.24746015,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 8935.970517375006,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 618.0151586751867,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 389.12045290008524,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3958.0806223506006,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 49.840690575503245,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 17.500824142251137,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2210.457905275118,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 3049.634700875442,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 35.25231225511787,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 6.538524822575158,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 7.581342816825234,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 118.62495621027632,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.7624347264752798,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 2024.7509257252132,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 826.6709257252131,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 706.5600000000001,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 16.337414057999997,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.3401942775000001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 3.140897982750426,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 43.72626627293151,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 2408.560648285934,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 219.3598497287531,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 116.02304717269459,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 88.5049453310015,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 222.85554424375292,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 79.7377000000203,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 464.64779270501333,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 241.0824867166667,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 372.33210489062526,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 61.801515867518674,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 92.64772688097267,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 84.21448132660852,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 276.8927254194625,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 159.09840129319215,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 315.77970075358826,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 338.8483000972713,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 39.169235839019855,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 544.8770685479299,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 583.1802166788642,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 741.405976314227,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 289.4180558827138,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 506.18773143130323,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 680.7255857499999,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 2.2679618500000003,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 20.93931988500284,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 36.438555227442926,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 75.41498066225148,
- hasRDI: true,
- daily: 116.02304717269459,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 17.7009890662003,
- hasRDI: true,
- daily: 88.5049453310015,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.18025087862500003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 28.480051034500192,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 19.089343754475543,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 668.5666327312588,
- hasRDI: true,
- daily: 222.85554424375292,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 648.6322077312537,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 19.934425000005074,
- hasRDI: true,
- daily: 79.7377000000203,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 32.20304000000375,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 232.32389635250667,
- hasRDI: true,
- daily: 464.64779270501333,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 723.24746015,
- hasRDI: true,
- daily: 241.0824867166667,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 8935.970517375006,
- hasRDI: true,
- daily: 372.33210489062526,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 618.0151586751867,
- hasRDI: true,
- daily: 61.801515867518674,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 389.12045290008524,
- hasRDI: true,
- daily: 92.64772688097267,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3958.0806223506006,
- hasRDI: true,
- daily: 84.21448132660852,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 49.840690575503245,
- hasRDI: true,
- daily: 276.8927254194625,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 17.500824142251137,
- hasRDI: true,
- daily: 159.09840129319215,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2210.457905275118,
- hasRDI: true,
- daily: 315.77970075358826,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 3049.634700875442,
- hasRDI: true,
- daily: 338.8483000972713,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 35.25231225511787,
- hasRDI: true,
- daily: 39.169235839019855,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 6.538524822575158,
- hasRDI: true,
- daily: 544.8770685479299,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 7.581342816825234,
- hasRDI: true,
- daily: 583.1802166788642,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 118.62495621027632,
- hasRDI: true,
- daily: 741.405976314227,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.7624347264752798,
- hasRDI: true,
- daily: 289.4180558827138,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 2024.7509257252132,
- hasRDI: true,
- daily: 506.18773143130323,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 826.6709257252131,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 706.5600000000001,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 16.337414057999997,
- hasRDI: true,
- daily: 680.7255857499999,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.3401942775000001,
- hasRDI: true,
- daily: 2.2679618500000003,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 3.140897982750426,
- hasRDI: true,
- daily: 20.93931988500284,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 43.72626627293151,
- hasRDI: true,
- daily: 36.438555227442926,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 2408.560648285934,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/1817e7fccea9ae39d09c0e2c7fb86cb2?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_a6ee2e431ba83557209f48e1cf194f2f',
- label: 'Chicken cacciatore',
- image: 'https://www.edamam.com/web-img/2ca/2ca946a40338e9b93c1d14dec518e1b8.jpg',
- source: 'BBC',
- url: 'http://www.bbc.co.uk/food/recipes/chickenalocacciatore_70349',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-cacciatore-a6ee2e431ba83557209f48e1cf194f2f/chicken',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '8 tbsp olive oil',
- '1 onion, sliced',
- '2 celery stalks, roughly chopped',
- '2 medium carrots, roughly chopped',
- '6 chicken breasts, or chicken thighs, bones removed',
- '175ml/6fl oz white wine',
- '3 tbsp tomato purée',
- '500ml/17 fl oz chicken stock',
- '2 bay leaves',
- '2-3 sage leaves',
- '1 rosemary sprig',
- '250g/9oz easy-cook polenta',
- 'Knob of butter',
- '25g/1oz parmesan',
- ],
- ingredients: [
- {
- text: '8 tbsp olive oil',
- weight: 108,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '1 onion, sliced',
- weight: 125,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '2 celery stalks, roughly chopped',
- weight: 80,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- {
- text: '2 medium carrots, roughly chopped',
- weight: 122,
- foodCategory: 'vegetables',
- foodId: 'food_ai215e5b85pdh5ajd4aafa3w2zm8',
- image: 'https://www.edamam.com/food-img/121/121e33fce0bb9546ed7d060b6c114e29.jpg',
- },
- {
- text: '6 chicken breasts, or chicken thighs, bones removed',
- weight: 1044,
- foodCategory: 'Poultry',
- foodId: 'food_a9hdg97b1sqqs5aj1al75bbo5iyt',
- image: 'https://www.edamam.com/food-img/093/093749f4c93e448119fc81976d2c3067.jpg',
- },
- {
- text: '175ml/6fl oz white wine',
- weight: 173.97314680098222,
- foodCategory: 'wines',
- foodId: 'food_bn44h7baron9ufaoxinmya8l0yye',
- image: 'https://www.edamam.com/food-img/a71/a718cf3c52add522128929f1f324d2ab.jpg',
- },
- {
- text: '3 tbsp tomato purée',
- weight: 45.3749999992329,
- foodCategory: 'canned vegetables',
- foodId: 'food_aqqtb83adjyq8ybf51yo8bsjetdh',
- image: null,
- },
- {
- text: '500ml/17 fl oz chicken stock',
- weight: 507.21034052764503,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- {
- text: '2 bay leaves',
- weight: 1.2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_asx39x4ayja4jab6ivj6zayvkblo',
- image: 'https://www.edamam.com/food-img/0f9/0f9f5f95df173e9ffaaff2977bef88f3.jpg',
- },
- {
- text: '2-3 sage leaves',
- weight: 2.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b00mwy0bne9gs4au15ja8ab10h0e',
- image: 'https://www.edamam.com/food-img/509/50984580e9aad4b4ddd5b7ed45a64bf4.jpg',
- },
- {
- text: '1 rosemary sprig',
- weight: 5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6tm2t2blxi7okaeiv91wb8bmygq',
- image: 'https://www.edamam.com/food-img/0ac/0ac8f7cf6f2d0ad7b1a2f9900fae44f3.jpg',
- },
- {
- text: '250g/9oz easy-cook polenta',
- weight: 250,
- foodCategory: 'grains',
- foodId: 'food_b05sp8gagykqhgb4uo2jhbsbfftc',
- image: null,
- },
- {
- text: 'Knob of butter',
- weight: 28.4,
- foodCategory: 'Dairy',
- foodId: 'food_awz3iefajbk1fwahq9logahmgltj',
- image: 'https://www.edamam.com/food-img/713/71397239b670d88c04faa8d05035cab4.jpg',
- },
- {
- text: '25g/1oz parmesan',
- weight: 25,
- foodCategory: 'Cheese',
- foodId: 'food_a104ppxa06d3emb272fkcab3cugd',
- image: 'https://www.edamam.com/food-img/f58/f588658627c59d5041e4664119829aa9.jpg',
- },
- ],
- calories: 4447.802702966512,
- totalWeight: 2517.6584873278603,
- totalTime: 60,
- cuisineType: ['italian'],
- mealType: ['lunch/dinner'],
- dishType: ['main course', 'starter'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 4447.802702966512,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 245.9171840863296,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 64.04659719309343,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 2.0271519999999996,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 130.65722943187055,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 36.37905377532301,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 254.3741943373955,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 19.461224999985426,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 28.120155589592475,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 261.8597017840448,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 761.4363102158293,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1997.9419442931546,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 640.7053934276569,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 451.9587283010506,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 4319.134541780476,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 15.755824211460732,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 12.57413475289781,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2532.2389583663958,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1588.812353405192,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 26.574920680984718,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.4147215265241497,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.7570377614682466,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 116.60870329249357,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 6.958739381121204,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 242.55099849429232,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 242.55099849429232,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 3.89788,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 4.727,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 21.283230602148706,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 154.45068826821858,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1723.6862441068722,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 222.39013514832558,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 378.334129363584,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 320.23298596546715,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 84.79139811246516,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 77.8448999999417,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 523.7194035680895,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 253.81210340527642,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 83.24758101221477,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 64.07053934276568,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 107.60922102405966,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 91.89647961235055,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 87.5323567303374,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 114.31031593543463,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 361.7484226237708,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 176.53470593391023,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 29.527689645538576,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 117.89346054367914,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 135.15675088217282,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 728.8043955780848,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 535.287644701631,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 60.63774962357308,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 162.41166666666666,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 31.513333333333335,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 141.8882040143247,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 128.70890689018216,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 245.9171840863296,
- hasRDI: true,
- daily: 378.334129363584,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 64.04659719309343,
- hasRDI: true,
- daily: 320.23298596546715,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 2.0271519999999996,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 130.65722943187055,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 36.37905377532301,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 254.3741943373955,
- hasRDI: true,
- daily: 84.79139811246516,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 234.91296933741006,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 19.461224999985426,
- hasRDI: true,
- daily: 77.8448999999417,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 28.120155589592475,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 261.8597017840448,
- hasRDI: true,
- daily: 523.7194035680895,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 761.4363102158293,
- hasRDI: true,
- daily: 253.81210340527642,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1997.9419442931546,
- hasRDI: true,
- daily: 83.24758101221477,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 640.7053934276569,
- hasRDI: true,
- daily: 64.07053934276568,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 451.9587283010506,
- hasRDI: true,
- daily: 107.60922102405966,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 4319.134541780476,
- hasRDI: true,
- daily: 91.89647961235055,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 15.755824211460732,
- hasRDI: true,
- daily: 87.5323567303374,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 12.57413475289781,
- hasRDI: true,
- daily: 114.31031593543463,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2532.2389583663958,
- hasRDI: true,
- daily: 361.7484226237708,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1588.812353405192,
- hasRDI: true,
- daily: 176.53470593391023,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 26.574920680984718,
- hasRDI: true,
- daily: 29.527689645538576,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.4147215265241497,
- hasRDI: true,
- daily: 117.89346054367914,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.7570377614682466,
- hasRDI: true,
- daily: 135.15675088217282,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 116.60870329249357,
- hasRDI: true,
- daily: 728.8043955780848,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 6.958739381121204,
- hasRDI: true,
- daily: 535.287644701631,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 242.55099849429232,
- hasRDI: true,
- daily: 60.63774962357308,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 242.55099849429232,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 3.89788,
- hasRDI: true,
- daily: 162.41166666666666,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 4.727,
- hasRDI: true,
- daily: 31.513333333333335,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 21.283230602148706,
- hasRDI: true,
- daily: 141.8882040143247,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 154.45068826821858,
- hasRDI: true,
- daily: 128.70890689018216,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1723.6862441068722,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/a6ee2e431ba83557209f48e1cf194f2f?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_1da54064d59fe6e63b11823593ae6dc2',
- label: 'Chicken Soup',
- image: 'https://www.edamam.com/web-img/e20/e20d522d53088284fc5a31f365cbdebd.jpg',
- source: 'Cookstr',
- url: 'http://www.cookstr.com/recipes/chicken-soup-3-sharon-lebewohl',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-soup-1da54064d59fe6e63b11823593ae6dc2/chicken',
- yield: 8,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['FODMAP'],
- ingredientLines: [
- '1 pound chicken parts',
- '2 stalks celery, including leafy tops, cut into 3-inch pieces',
- '1 whole chicken, thoroughly rinsed',
- 'Salt to rub inside the chicken',
- '1 large whole onion, unpeeled (find one with a firm, golden-brown peel)',
- '1 large whole carrot, peeled',
- '1 medium parsnip, peeled',
- '2 teaspoons salt',
- '¼ teaspoon pepper',
- '1 bunch dill, cleaned and tied with a string',
- ],
- ingredients: [
- {
- text: '1 pound chicken parts',
- weight: 453.59237,
- foodCategory: 'Poultry',
- foodId: 'food_bsarl08be0gwarb34bpviafna9d4',
- image: 'https://www.edamam.com/food-img/007/00792642367e1f55de680762f85cfb3b.jpg',
- },
- {
- text: '2 stalks celery, including leafy tops, cut into 3-inch pieces',
- weight: 80,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- {
- text: '1 whole chicken, thoroughly rinsed',
- weight: 1200,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: 'Salt to rub inside the chicken',
- weight: 12.622304220000002,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1 large whole onion, unpeeled (find one with a firm, golden-brown peel)',
- weight: 150,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1 large whole carrot, peeled',
- weight: 72,
- foodCategory: 'vegetables',
- foodId: 'food_ai215e5b85pdh5ajd4aafa3w2zm8',
- image: 'https://www.edamam.com/food-img/121/121e33fce0bb9546ed7d060b6c114e29.jpg',
- },
- {
- text: '1 medium parsnip, peeled',
- weight: 133,
- foodCategory: 'vegetables',
- foodId: 'food_admr9qdb3d66y9blt7afaazt0dbq',
- image: 'https://www.edamam.com/food-img/ec2/ec2f9c27d98c2ca45687f96e3e487868.jpg',
- },
- {
- text: '2 teaspoons salt',
- weight: 12,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '¼ teaspoon pepper',
- weight: 0.725,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1 bunch dill, cleaned and tied with a string',
- weight: 2.4,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_avhhd2padkkzx8a9swnmlb1km3qb',
- image: 'https://www.edamam.com/food-img/874/8740aacb8e1a348cd5eead1f0bb552d4.jpg',
- },
- ],
- calories: 3787.3608877000006,
- totalWeight: 2100.805166299829,
- totalTime: 120,
- cuisineType: ['kosher'],
- mealType: ['lunch/dinner'],
- dishType: ['soup'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3787.3608877000006,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 256.970007657,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 72.44179081880002,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.5495535145000003,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 106.588056228,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 54.73101296790001,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 48.976398425,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 12.596825,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 17.233439999999998,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 302.75942702400005,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1344.5205226,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 4864.246909587601,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 312.2762870119589,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 395.30725456299825,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 4377.552708503988,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 15.618675343789437,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 22.927396869299827,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2661.1995208999997,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1224.5859950999998,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 61.678,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.3063174300999998,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.3004779365,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 104.70537386249998,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 6.238775273899998,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 249.42102110000002,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 249.42102110000002,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 6.5322726939999995,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 2.8535923700000003,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 7.262983977,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 92.18126477,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1474.9068589315993,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 189.36804438500002,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 395.3384733184615,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 362.2089540940001,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 16.325466141666666,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 50.3873,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 605.5188540480001,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 448.17350753333335,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 202.67695456615007,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 31.227628701195894,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 94.12077489595197,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 93.13941932987207,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 86.77041857660798,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 208.43088062999843,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 380.1713601285714,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 136.06511056666665,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 68.5311111111111,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 108.85978584166665,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 176.95984126923076,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 654.4085866406249,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 479.90579029999986,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 62.35525527500001,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 272.1780289166667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 19.023949133333335,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 48.41989318,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 76.81772064166667,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 256.970007657,
- hasRDI: true,
- daily: 395.3384733184615,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 72.44179081880002,
- hasRDI: true,
- daily: 362.2089540940001,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.5495535145000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 106.588056228,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 54.73101296790001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 48.976398425,
- hasRDI: true,
- daily: 16.325466141666666,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 36.379573425,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 12.596825,
- hasRDI: true,
- daily: 50.3873,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 17.233439999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 302.75942702400005,
- hasRDI: true,
- daily: 605.5188540480001,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1344.5205226,
- hasRDI: true,
- daily: 448.17350753333335,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 4864.246909587601,
- hasRDI: true,
- daily: 202.67695456615007,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 312.2762870119589,
- hasRDI: true,
- daily: 31.227628701195894,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 395.30725456299825,
- hasRDI: true,
- daily: 94.12077489595197,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 4377.552708503988,
- hasRDI: true,
- daily: 93.13941932987207,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 15.618675343789437,
- hasRDI: true,
- daily: 86.77041857660798,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 22.927396869299827,
- hasRDI: true,
- daily: 208.43088062999843,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2661.1995208999997,
- hasRDI: true,
- daily: 380.1713601285714,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1224.5859950999998,
- hasRDI: true,
- daily: 136.06511056666665,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 61.678,
- hasRDI: true,
- daily: 68.5311111111111,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.3063174300999998,
- hasRDI: true,
- daily: 108.85978584166665,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.3004779365,
- hasRDI: true,
- daily: 176.95984126923076,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 104.70537386249998,
- hasRDI: true,
- daily: 654.4085866406249,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 6.238775273899998,
- hasRDI: true,
- daily: 479.90579029999986,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 249.42102110000002,
- hasRDI: true,
- daily: 62.35525527500001,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 249.42102110000002,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 6.5322726939999995,
- hasRDI: true,
- daily: 272.1780289166667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 2.8535923700000003,
- hasRDI: true,
- daily: 19.023949133333335,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 7.262983977,
- hasRDI: true,
- daily: 48.41989318,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 92.18126477,
- hasRDI: true,
- daily: 76.81772064166667,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1474.9068589315993,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/1da54064d59fe6e63b11823593ae6dc2?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_7879614ad1d3687818ba7a494ef0bab9',
- label: 'Roast Chicken With Chicken Livers',
- image: 'https://www.edamam.com/web-img/b32/b324978429b9e75525848eae95912c73.jpg',
- source: 'Food & Wine',
- url: 'http://www.foodandwine.com/recipes/roast-chicken-with-chicken-livers',
- shareAs:
- 'http://www.edamam.com/recipe/roast-chicken-with-chicken-livers-7879614ad1d3687818ba7a494ef0bab9/chicken',
- yield: 12,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Kidney-Friendly',
- 'Keto-Friendly',
- 'Paleo',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- 'One 3 3/4- to 4-pound chicken',
- '1 teaspoon coarsely chopped thyme',
- 'Salt',
- '1/2 cup extra-virgin olive oil',
- '20 garlic cloves, peeled',
- '2 teaspoons coarsely crushed black peppercorns',
- '1/4 pound chicken livers, trimmed and cut into 1-inch pieces',
- 'Freshly ground pepper',
- '2 tablespoons chopped Gaeta olives',
- '1 tablespoon minced flat-leaf parsley',
- ],
- ingredients: [
- {
- text: 'One 3 3/4- to 4-pound chicken',
- weight: 1757.67043375,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '1 teaspoon coarsely chopped thyme',
- weight: 0.8,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b3o3cj7a5gskecb0ufphtadnbfqb',
- image: 'https://www.edamam.com/food-img/3e7/3e7cf3c8d767a90b906447f5e74059f7.jpg',
- },
- {
- text: 'Salt',
- weight: 12.397611157500002,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1/2 cup extra-virgin olive oil',
- weight: 108,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '20 garlic cloves, peeled',
- weight: 60,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '2 teaspoons coarsely crushed black peppercorns',
- weight: 5.8,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1/4 pound chicken livers, trimmed and cut into 1-inch pieces',
- weight: 113.3980925,
- foodCategory: 'Poultry',
- foodId: 'food_a9xs7abb632dn3aozv3w4a9351fh',
- image: 'https://www.edamam.com/food-img/9aa/9aa4760ac12b682555a37a1cdc91150b.jpg',
- },
- {
- text: 'Freshly ground pepper',
- weight: 6.198805578750001,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '2 tablespoons chopped Gaeta olives',
- weight: 16.8,
- foodCategory: 'canned fruit',
- foodId: 'food_bt7u5w5a064gusa46msxfb38ag06',
- image: 'https://www.edamam.com/food-img/822/8221f2141e8dafd469414b20777735ca.jpg',
- },
- {
- text: '1 tablespoon minced flat-leaf parsley',
- weight: 3.8,
- foodCategory: 'vegetables',
- foodId: 'food_b244pqdazw24zobr5vqu2bf0uid8',
- image: 'https://www.edamam.com/food-img/46a/46a132e96626d7989b4d6ed8c91f4da0.jpg',
- },
- ],
- calories: 3800.3909062201624,
- totalWeight: 2082.17339973103,
- totalTime: 0,
- cuisineType: ['french'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3800.3909062201624,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 296.00550270908724,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 68.66575263177619,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.2330681782264998,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 156.22800719343198,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 51.88245657461092,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 29.824862242860625,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 5.07069781142375,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 0.709092355704,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 246.85824961133213,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1287.6353403374999,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 4819.481330821121,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 328.97776085490955,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 300.0558347836853,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2948.9622657792693,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 24.70294561607415,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 19.625649147884403,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2208.0738131159246,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 4252.141323235763,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 64.6277128767,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.2001084291200501,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 3.54556700863175,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 92.94584780171459,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 5.934173885584162,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 748.4695345453874,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 748.4695345453874,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 22.506573010845,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 2.3904317899,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 20.355921910369,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 166.16148315666373,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 929.3817939139217,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 190.0195453110081,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 455.3930810909034,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 343.3287631588809,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 9.94162074762021,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 20.282791245695,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 493.71649922266425,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 429.2117801125,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 200.8117221175467,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 32.89777608549096,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 71.44186542468698,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 62.743877995303606,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 137.2385867559675,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 178.41499225349457,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 315.43911615941784,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 472.46014702619584,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 71.808569863,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 100.00903576000418,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 272.73592374090384,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 580.9115487607162,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 456.47491427570475,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 187.11738363634686,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 937.773875451875,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 15.936211932666668,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 135.70614606912665,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 138.4679026305531,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 296.00550270908724,
- hasRDI: true,
- daily: 455.3930810909034,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 68.66575263177619,
- hasRDI: true,
- daily: 343.3287631588809,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.2330681782264998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 156.22800719343198,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 51.88245657461092,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 29.824862242860625,
- hasRDI: true,
- daily: 9.94162074762021,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 24.754164431436877,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 5.07069781142375,
- hasRDI: true,
- daily: 20.282791245695,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 0.709092355704,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 246.85824961133213,
- hasRDI: true,
- daily: 493.71649922266425,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1287.6353403374999,
- hasRDI: true,
- daily: 429.2117801125,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 4819.481330821121,
- hasRDI: true,
- daily: 200.8117221175467,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 328.97776085490955,
- hasRDI: true,
- daily: 32.89777608549096,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 300.0558347836853,
- hasRDI: true,
- daily: 71.44186542468698,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2948.9622657792693,
- hasRDI: true,
- daily: 62.743877995303606,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 24.70294561607415,
- hasRDI: true,
- daily: 137.2385867559675,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 19.625649147884403,
- hasRDI: true,
- daily: 178.41499225349457,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2208.0738131159246,
- hasRDI: true,
- daily: 315.43911615941784,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 4252.141323235763,
- hasRDI: true,
- daily: 472.46014702619584,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 64.6277128767,
- hasRDI: true,
- daily: 71.808569863,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.2001084291200501,
- hasRDI: true,
- daily: 100.00903576000418,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 3.54556700863175,
- hasRDI: true,
- daily: 272.73592374090384,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 92.94584780171459,
- hasRDI: true,
- daily: 580.9115487607162,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 5.934173885584162,
- hasRDI: true,
- daily: 456.47491427570475,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 748.4695345453874,
- hasRDI: true,
- daily: 187.11738363634686,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 748.4695345453874,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 22.506573010845,
- hasRDI: true,
- daily: 937.773875451875,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 2.3904317899,
- hasRDI: true,
- daily: 15.936211932666668,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 20.355921910369,
- hasRDI: true,
- daily: 135.70614606912665,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 166.16148315666373,
- hasRDI: true,
- daily: 138.4679026305531,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 929.3817939139217,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/7879614ad1d3687818ba7a494ef0bab9?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_9b6f45c3bcb793ba4663ee4c712d7759',
- label: 'Chicken Vesuvio',
- image: 'https://www.edamam.com/web-img/85c/85c7885563809941210ad7180fcd2c54.jpg',
- source: 'PBS Food',
- url: 'http://www.pbs.org/food/recipes/chicken-vesuvio/',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-vesuvio-9b6f45c3bcb793ba4663ee4c712d7759/chicken',
- yield: 6,
- dietLabels: ['Low-Sodium'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '3 tablespoons olive oil',
- '4 - 4 oz. boneless skinless chicken breasts, pounded and lightly floured',
- '2 tablespoons chopped garlic',
- '1/4 cup dry white wine',
- '1/8 cup chicken stock',
- '2 ounces salted butter',
- '8 ounces cooked rotini',
- ],
- ingredients: [
- {
- text: '3 tablespoons olive oil',
- weight: 40.5,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '4 - 4 oz. boneless skinless chicken breasts, pounded and lightly floured',
- weight: 113.3980925,
- foodCategory: 'Poultry',
- foodId: 'food_bdrxu94aj3x2djbpur8dhagfhkcn',
- image: 'https://www.edamam.com/food-img/da5/da510379d3650787338ca16fb69f4c94.jpg',
- },
- {
- text: '2 tablespoons chopped garlic',
- weight: 16.999999999712582,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '1/4 cup dry white wine',
- weight: 58.8,
- foodCategory: 'wines',
- foodId: 'food_a656mk2a5dmqb2adiamu6beihduu',
- image: 'https://www.edamam.com/food-img/a71/a718cf3c52add522128929f1f324d2ab.jpg',
- },
- {
- text: '1/8 cup chicken stock',
- weight: 30,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- {
- text: '2 ounces salted butter',
- weight: 56.69904625,
- foodCategory: 'Dairy',
- foodId: 'food_axwam0ga2lqqlabfq1kqtbloozm3',
- image: 'https://www.edamam.com/food-img/515/515af390107678fce1533a31ee4cc35b.jpeg',
- },
- {
- text: '8 ounces cooked rotini',
- weight: 226.796185,
- foodCategory: 'grains',
- foodId: 'food_bcwokz3b2oo23xbi9zcjiav8mo2n',
- image: 'https://www.edamam.com/food-img/222/22205c8592e82a675d90e3673d710bb5.jpg',
- },
- ],
- calories: 1343.3138449120718,
- totalWeight: 543.1933237497126,
- totalTime: 150,
- cuisineType: ['italian'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1343.3138449120718,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 92.01383095737357,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 35.86642862407475,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.8665326025500002,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 42.72279737188747,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 7.297684719736786,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 78.23132211865499,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 4.439331329993965,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 2.512558063747126,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 41.02905143560673,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 205.58355696250004,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 467.4119708624512,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 72.52040867447978,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 85.03876012492816,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 633.9707214488476,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 2.302453676495114,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.2885567141216665,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 431.3814954245603,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 396.05934282500004,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 5.363999999910325,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.20222839626192518,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.31837153644968386,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 12.47491921942299,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.290139632208951,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 30.380532662491376,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 30.380532662491376,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.33452437287500003,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.85048569375,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 7.920874901999771,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 29.160929422495116,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 322.38507873770664,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 67.16569224560358,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 141.5597399344209,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 179.33214312037376,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 26.077107372884996,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 17.75732531997586,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 82.05810287121346,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 68.52785232083335,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 19.475498785935468,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 7.252040867447978,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 20.24732383926861,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 13.4887387542308,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 12.791409313861744,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 20.805061037469695,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 61.62592791779432,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 44.00659364722223,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 5.959999999900361,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 16.85236635516043,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 24.49011818843722,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 77.9682451213937,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 99.2415101699193,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 7.595133165622844,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 13.938515536458336,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 5.669904625,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 52.805832679998474,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 24.30077451874593,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 92.01383095737357,
- hasRDI: true,
- daily: 141.5597399344209,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 35.86642862407475,
- hasRDI: true,
- daily: 179.33214312037376,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.8665326025500002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 42.72279737188747,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 7.297684719736786,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 78.23132211865499,
- hasRDI: true,
- daily: 26.077107372884996,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 73.79199078866102,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 4.439331329993965,
- hasRDI: true,
- daily: 17.75732531997586,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 2.512558063747126,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 41.02905143560673,
- hasRDI: true,
- daily: 82.05810287121346,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 205.58355696250004,
- hasRDI: true,
- daily: 68.52785232083335,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 467.4119708624512,
- hasRDI: true,
- daily: 19.475498785935468,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 72.52040867447978,
- hasRDI: true,
- daily: 7.252040867447978,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 85.03876012492816,
- hasRDI: true,
- daily: 20.24732383926861,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 633.9707214488476,
- hasRDI: true,
- daily: 13.4887387542308,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 2.302453676495114,
- hasRDI: true,
- daily: 12.791409313861744,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.2885567141216665,
- hasRDI: true,
- daily: 20.805061037469695,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 431.3814954245603,
- hasRDI: true,
- daily: 61.62592791779432,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 396.05934282500004,
- hasRDI: true,
- daily: 44.00659364722223,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 5.363999999910325,
- hasRDI: true,
- daily: 5.959999999900361,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.20222839626192518,
- hasRDI: true,
- daily: 16.85236635516043,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.31837153644968386,
- hasRDI: true,
- daily: 24.49011818843722,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 12.47491921942299,
- hasRDI: true,
- daily: 77.9682451213937,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.290139632208951,
- hasRDI: true,
- daily: 99.2415101699193,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 30.380532662491376,
- hasRDI: true,
- daily: 7.595133165622844,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 30.380532662491376,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.33452437287500003,
- hasRDI: true,
- daily: 13.938515536458336,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.85048569375,
- hasRDI: true,
- daily: 5.669904625,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 7.920874901999771,
- hasRDI: true,
- daily: 52.805832679998474,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 29.160929422495116,
- hasRDI: true,
- daily: 24.30077451874593,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 322.38507873770664,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/9b6f45c3bcb793ba4663ee4c712d7759?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_b4dadfbd094da0086d5759f92e9db359',
- label: 'Smothered Chicken',
- image: 'https://www.edamam.com/web-img/65a/65a7ad1b644869cd901aafd23aa3bf11.jpeg',
- source: 'Food Network',
- url: 'https://www.foodnetwork.com/recipes/sandra-lee/smothered-chicken-recipe-1950282',
- shareAs:
- 'http://www.edamam.com/recipe/smothered-chicken-b4dadfbd094da0086d5759f92e9db359/chicken',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '3 1/2 pounds whole cut-up chicken',
- '2 (5-ounce) packets chicken fry coating (recommended: Dixie Fry)',
- '2 tablespoons salt-free chicken seasoning, divided (recommended: McCormick Grill Mates)',
- 'Canola oil, for frying',
- '2 (12-ounce) jars roasted chicken gravy (recommended: Franco American)',
- '1 teaspoon crushed garlic',
- ],
- ingredients: [
- {
- text: '3 1/2 pounds whole cut-up chicken',
- weight: 1587.5732950000001,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '2 (5-ounce) packets chicken fry coating (recommended: Dixie Fry)',
- weight: 283.49523125,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '2 tablespoons salt-free chicken seasoning, divided (recommended: McCormick Grill Mates)',
- weight: 4.1999999997159625,
- foodCategory: 'condiments and sauces',
- foodId: 'food_aa3k2msbdflu7valodjaoafcozsu',
- image: 'https://www.edamam.com/food-img/98a/98af5a0918f05f04e85b0b9ab4a10006.jpg',
- },
- {
- text: 'Canola oil, for frying',
- weight: 34.79501630499614,
- foodCategory: 'Oils',
- foodId: 'food_bk9p9aaavhvoq4bqsnprobpsiuxs',
- image: 'https://www.edamam.com/food-img/07e/07e106ab3536d57428e5c46d009038f8.jpg',
- },
- {
- text: '2 (12-ounce) jars roasted chicken gravy (recommended: Franco American)',
- weight: 680.388555,
- foodCategory: 'canned soup',
- foodId: 'food_af7ntcsa84dhrzaxbewf2arvso4x',
- image: 'https://www.edamam.com/food-img/d00/d003966a07a0a523f0761c1e159b0ed1.jpg',
- },
- {
- text: '1 teaspoon crushed garlic',
- weight: 2.8,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- ],
- calories: 7964.760379624098,
- totalWeight: 2942.225643437174,
- totalTime: 50,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['starter'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 7964.760379624098,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 704.67606873119,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 118.54557871197841,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 3.3308222911029572,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 376.93828760023564,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 178.64846249366926,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 38.558739680948875,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 3.380954219959383,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 5.528230728986934,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 361.6349249939793,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1416.9091657875001,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 4952.331441523788,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 346.9632488875,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 388.52147635,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 4289.1710395625005,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 20.08504294475,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 29.986586133875004,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2952.0674145375006,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 773.9419813125,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 30.810696420000006,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.2439071701000002,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.54092931015,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 130.2850917689125,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 6.6513586973750005,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 125.95588267500003,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 125.95588267500003,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 6.480700986375001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 3.742137052500001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 73.50594165818008,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 303.10138984340716,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1817.0019533093748,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 398.2380189812049,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 1084.1170288172154,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 592.7278935598921,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 12.852913226982958,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 13.523816879837533,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 723.2698499879585,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 472.30305526250004,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 206.34714339682452,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 34.69632488875,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 92.50511341666667,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 91.25895828856385,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 111.58357191527779,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 272.6053284897728,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 421.72391636250006,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 85.99355347916666,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 34.234107133333346,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 103.65893084166669,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 195.45610078076922,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 814.2818235557032,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 511.64297672115384,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 31.488970668750007,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 270.0292077656251,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 24.947580350000006,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 490.03961105453385,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 252.58449153617264,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 704.67606873119,
- hasRDI: true,
- daily: 1084.1170288172154,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 118.54557871197841,
- hasRDI: true,
- daily: 592.7278935598921,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 3.3308222911029572,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 376.93828760023564,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 178.64846249366926,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 38.558739680948875,
- hasRDI: true,
- daily: 12.852913226982958,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 35.17778546098949,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 3.380954219959383,
- hasRDI: true,
- daily: 13.523816879837533,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 5.528230728986934,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 361.6349249939793,
- hasRDI: true,
- daily: 723.2698499879585,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1416.9091657875001,
- hasRDI: true,
- daily: 472.30305526250004,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 4952.331441523788,
- hasRDI: true,
- daily: 206.34714339682452,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 346.9632488875,
- hasRDI: true,
- daily: 34.69632488875,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 388.52147635,
- hasRDI: true,
- daily: 92.50511341666667,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 4289.1710395625005,
- hasRDI: true,
- daily: 91.25895828856385,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 20.08504294475,
- hasRDI: true,
- daily: 111.58357191527779,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 29.986586133875004,
- hasRDI: true,
- daily: 272.6053284897728,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2952.0674145375006,
- hasRDI: true,
- daily: 421.72391636250006,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 773.9419813125,
- hasRDI: true,
- daily: 85.99355347916666,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 30.810696420000006,
- hasRDI: true,
- daily: 34.234107133333346,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.2439071701000002,
- hasRDI: true,
- daily: 103.65893084166669,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.54092931015,
- hasRDI: true,
- daily: 195.45610078076922,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 130.2850917689125,
- hasRDI: true,
- daily: 814.2818235557032,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 6.6513586973750005,
- hasRDI: true,
- daily: 511.64297672115384,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 125.95588267500003,
- hasRDI: true,
- daily: 31.488970668750007,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 125.95588267500003,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 6.480700986375001,
- hasRDI: true,
- daily: 270.0292077656251,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 3.742137052500001,
- hasRDI: true,
- daily: 24.947580350000006,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 73.50594165818008,
- hasRDI: true,
- daily: 490.03961105453385,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 303.10138984340716,
- hasRDI: true,
- daily: 252.58449153617264,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1817.0019533093748,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/b4dadfbd094da0086d5759f92e9db359?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_45adb4461e9a05cb82f436b9ea4cdcbd',
- label: 'Chicken & peppers',
- image: 'https://www.edamam.com/web-img/adf/adf0d1e50d6ab82c373984230682fb3e.jpg',
- source: 'The Stone Soup',
- url: 'http://thestonesoup.com/blog/2012/05/the-1-thing-you-should-never-do-when-combining-flavours/',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-peppers-45adb4461e9a05cb82f436b9ea4cdcbd/chicken',
- yield: 2,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Paleo',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- ],
- cautions: [],
- ingredientLines: [
- '4-6 chicken drumsticks',
- '2-3 large red capsicum (bell peppers), chopped',
- ],
- ingredients: [
- {
- text: '4-6 chicken drumsticks',
- weight: 665,
- foodCategory: 'Poultry',
- foodId: 'food_agzvc6lbxg03stab195szars32lx',
- image: 'https://www.edamam.com/food-img/491/4916353c22bd1ac381ac81d55597ddbe.jpg',
- },
- {
- text: '2-3 large red capsicum (bell peppers), chopped',
- weight: 410,
- foodCategory: 'vegetables',
- foodId: 'food_a8g63g7ak6bnmvbu7agxibp4a0dy',
- image: 'https://www.edamam.com/food-img/4dc/4dc48b1a506d334b4ab6671b9d56a18f.jpeg',
- },
- ],
- calories: 1197.75,
- totalWeight: 1075,
- totalTime: 130,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1197.75,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 62.41,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 16.463050000000003,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.31255,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 24.74365,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 13.354250000000002,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 25.4545,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 8.61,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 17.22,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 124.291,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 611.8000000000001,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 721.3000000000001,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 81.9,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 168.9,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2268.25,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 6.4845,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 13.394000000000002,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1190.55,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 736.8,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 523.5699999999999,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.77335,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.64525,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 36.20655,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.4873499999999997,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 208.55,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 208.55,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 3.5245,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.665,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 7.7415,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 36.715,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 859.9199999999998,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 59.8875,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 96.01538461538462,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 82.31525000000002,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 8.484833333333333,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 34.44,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 248.582,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 203.93333333333337,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 30.054166666666667,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 8.190000000000001,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 40.214285714285715,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 48.26063829787234,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 36.025,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 121.76363636363637,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 170.07857142857142,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 81.86666666666666,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 581.7444444444444,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 64.44583333333333,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 126.5576923076923,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 226.2909375,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 268.25769230769225,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 52.1375,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 146.85416666666669,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 4.433333333333334,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 51.61,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 30.59583333333334,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 62.41,
- hasRDI: true,
- daily: 96.01538461538462,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 16.463050000000003,
- hasRDI: true,
- daily: 82.31525000000002,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.31255,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 24.74365,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 13.354250000000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 25.4545,
- hasRDI: true,
- daily: 8.484833333333333,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 16.8445,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 8.61,
- hasRDI: true,
- daily: 34.44,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 17.22,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 124.291,
- hasRDI: true,
- daily: 248.582,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 611.8000000000001,
- hasRDI: true,
- daily: 203.93333333333337,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 721.3000000000001,
- hasRDI: true,
- daily: 30.054166666666667,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 81.9,
- hasRDI: true,
- daily: 8.190000000000001,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 168.9,
- hasRDI: true,
- daily: 40.214285714285715,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2268.25,
- hasRDI: true,
- daily: 48.26063829787234,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 6.4845,
- hasRDI: true,
- daily: 36.025,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 13.394000000000002,
- hasRDI: true,
- daily: 121.76363636363637,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1190.55,
- hasRDI: true,
- daily: 170.07857142857142,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 736.8,
- hasRDI: true,
- daily: 81.86666666666666,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 523.5699999999999,
- hasRDI: true,
- daily: 581.7444444444444,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.77335,
- hasRDI: true,
- daily: 64.44583333333333,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.64525,
- hasRDI: true,
- daily: 126.5576923076923,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 36.20655,
- hasRDI: true,
- daily: 226.2909375,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.4873499999999997,
- hasRDI: true,
- daily: 268.25769230769225,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 208.55,
- hasRDI: true,
- daily: 52.1375,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 208.55,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 3.5245,
- hasRDI: true,
- daily: 146.85416666666669,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.665,
- hasRDI: true,
- daily: 4.433333333333334,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 7.7415,
- hasRDI: true,
- daily: 51.61,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 36.715,
- hasRDI: true,
- daily: 30.59583333333334,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 859.9199999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/45adb4461e9a05cb82f436b9ea4cdcbd?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_0806132207b0892f5670d9d70078c694',
- label: 'Chicken Hash',
- image: 'https://www.edamam.com/web-img/b50/b500b287cd791d8c431bbd9c504f7e80.jpg',
- source: 'Delish',
- url: 'http://www.delish.com/cooking/recipe-ideas/recipes/a33713/chicken-hash-recipe-122305/',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-hash-0806132207b0892f5670d9d70078c694/chicken',
- yield: 4,
- dietLabels: ['High-Fiber', 'Low-Carb'],
- healthLabels: [
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: [],
- ingredientLines: [
- '1 tbsp. oil',
- '2 large baked potatoes',
- '2 c. shredded cooked chicken',
- '3 medium carrots',
- '1 medium onion',
- '1 jar chicken gravy',
- ],
- ingredients: [
- {
- text: '1 tbsp. oil',
- weight: 14,
- foodCategory: 'Oils',
- foodId: 'food_bk9p9aaavhvoq4bqsnprobpsiuxs',
- image: 'https://www.edamam.com/food-img/07e/07e106ab3536d57428e5c46d009038f8.jpg',
- },
- {
- text: '2 large baked potatoes',
- weight: 598,
- foodCategory: 'vegetables',
- foodId: 'food_als7tunbnyz9uqayc3mkqarb8m6m',
- image: 'https://www.edamam.com/food-img/bec/bec2a265c41dd4319dcd9b8a4a3777f5.jpg',
- },
- {
- text: '2 c. shredded cooked chicken',
- weight: 280,
- foodCategory: 'Poultry',
- foodId: 'food_a59p480aae04fubjz0yo7a5auh4m',
- image: 'https://www.edamam.com/food-img/c81/c81b9affb7c9c29a861e8566bd2d0829.jpg',
- },
- {
- text: '3 medium carrots',
- weight: 183,
- foodCategory: 'vegetables',
- foodId: 'food_ai215e5b85pdh5ajd4aafa3w2zm8',
- image: 'https://www.edamam.com/food-img/121/121e33fce0bb9546ed7d060b6c114e29.jpg',
- },
- {
- text: '1 medium onion',
- weight: 110,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1 jar chicken gravy',
- weight: 1200,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- ],
- calories: 3870.45,
- totalWeight: 2385,
- totalTime: 25,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3870.45,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 214.6106,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 58.13633,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.2193,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 90.7965,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 47.49557,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 156.0166,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 20.748,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 19.7966,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 311.8673,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1110,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1264.3899999999999,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 358.93,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 511.16,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 6944.4000000000015,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 21.366600000000002,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 22.6952,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2822.13,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 2059.63,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 87.77100000000002,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.46564,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.27448,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 113.66633,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 7.84946,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 297.15000000000003,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 297.15000000000003,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 4.532,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 2.4000000000000004,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 7.6928,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 64.538,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1685.4307,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 193.5225,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 330.1701538461539,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 290.68165,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 52.00553333333334,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 82.992,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 623.7346,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 370,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 52.682916666666664,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 35.893,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 121.70476190476191,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 147.75319148936174,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 118.70333333333335,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 206.32,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 403.1614285714286,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 228.84777777777776,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 97.52333333333335,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 122.13666666666667,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 174.96,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 710.4145625,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 603.8046153846153,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 74.28750000000001,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 188.83333333333334,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 16.000000000000004,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 51.285333333333334,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 53.78166666666666,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 214.6106,
- hasRDI: true,
- daily: 330.1701538461539,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 58.13633,
- hasRDI: true,
- daily: 290.68165,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.2193,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 90.7965,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 47.49557,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 156.0166,
- hasRDI: true,
- daily: 52.00553333333334,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 135.26860000000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 20.748,
- hasRDI: true,
- daily: 82.992,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 19.7966,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 311.8673,
- hasRDI: true,
- daily: 623.7346,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1110,
- hasRDI: true,
- daily: 370,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1264.3899999999999,
- hasRDI: true,
- daily: 52.682916666666664,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 358.93,
- hasRDI: true,
- daily: 35.893,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 511.16,
- hasRDI: true,
- daily: 121.70476190476191,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 6944.4000000000015,
- hasRDI: true,
- daily: 147.75319148936174,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 21.366600000000002,
- hasRDI: true,
- daily: 118.70333333333335,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 22.6952,
- hasRDI: true,
- daily: 206.32,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2822.13,
- hasRDI: true,
- daily: 403.1614285714286,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 2059.63,
- hasRDI: true,
- daily: 228.84777777777776,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 87.77100000000002,
- hasRDI: true,
- daily: 97.52333333333335,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.46564,
- hasRDI: true,
- daily: 122.13666666666667,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.27448,
- hasRDI: true,
- daily: 174.96,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 113.66633,
- hasRDI: true,
- daily: 710.4145625,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 7.84946,
- hasRDI: true,
- daily: 603.8046153846153,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 297.15000000000003,
- hasRDI: true,
- daily: 74.28750000000001,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 297.15000000000003,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 4.532,
- hasRDI: true,
- daily: 188.83333333333334,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 2.4000000000000004,
- hasRDI: true,
- daily: 16.000000000000004,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 7.6928,
- hasRDI: true,
- daily: 51.285333333333334,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 64.538,
- hasRDI: true,
- daily: 53.78166666666666,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1685.4307,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/0806132207b0892f5670d9d70078c694?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_6379680892262fe72b7daf2cfcb24965',
- label: 'Southwestern Chicken Soup',
- image: 'https://www.edamam.com/web-img/216/216f2d87bd0921a4059ca89aeecad473.jpg',
- source: 'Real Simple',
- url: 'https://www.realsimple.com/food-recipes/browse-all-recipes/southwestern-chicken-soup',
- shareAs:
- 'http://www.edamam.com/recipe/southwestern-chicken-soup-6379680892262fe72b7daf2cfcb24965/chicken',
- yield: 4,
- dietLabels: [],
- healthLabels: [
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 12-ounce jar salsa verde',
- '3 cups cooked chicken pieces (1 small deli-counter rotisserie chicken or leftovers)',
- '1 15-ounce can cannellini beans, drained',
- '3 cups chicken broth',
- '1 teaspoon ground cumin (optional)',
- '2 green onions, chopped',
- '1/2 cup sour cream',
- 'tortilla chips (optional)',
- ],
- ingredients: [
- {
- text: '1 12-ounce jar salsa verde',
- weight: 340.1942775,
- foodCategory: 'condiments and sauces',
- foodId: 'food_ax6tfr7a1hlbwpbkyaytlbkxaub2',
- image: 'https://www.edamam.com/food-img/205/205d9e349c3b7e60d4886c5ab4e27a92.jpg',
- },
- {
- text: '3 cups cooked chicken pieces (1 small deli-counter rotisserie chicken or leftovers)',
- weight: 420,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '1 15-ounce can cannellini beans, drained',
- weight: 425.242846875,
- foodCategory: 'plant-based protein',
- foodId: 'food_bggwvu5a6s0gniamjy6r1aoknilo',
- image: 'https://www.edamam.com/food-img/a39/a39102018ed39c6008134e0570af8a6c.jpg',
- },
- {
- text: '3 cups chicken broth',
- weight: 720,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- {
- text: '1 teaspoon ground cumin (optional)',
- weight: 2.1,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a8jjbx4biqndasapojdb5by3e92e',
- image: 'https://www.edamam.com/food-img/07e/07e2a4eb77ce46591033846504817d35.jpg',
- },
- {
- text: '2 green onions, chopped',
- weight: 30,
- foodCategory: 'vegetables',
- foodId: 'food_bknlkyzbuzo27pb11whr4bttkuy6',
- image: 'https://www.edamam.com/food-img/b89/b89986ed6aa466285bdd99bac34b3c46.jpg',
- },
- {
- text: '1/2 cup sour cream',
- weight: 115,
- foodCategory: 'Dairy',
- foodId: 'food_adp9fcubzl3lr7bcvzn3rbfiiiwq',
- image: 'https://www.edamam.com/food-img/f9d/f9d6183267b041b0aff9a10b89c9c15f.jpg',
- },
- {
- text: 'tortilla chips (optional)',
- weight: 0,
- foodCategory: 'savory snacks',
- foodId: 'food_bkxl9s9bpcxmenbef89qbbofifnr',
- image: 'https://www.edamam.com/food-img/24e/24eea039cad825c1745263674e9879df.jpg',
- },
- ],
- calories: 2015.6756708875,
- totalWeight: 2052.5371243749996,
- totalTime: 15,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['soup'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2015.6756708875,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 99.36710332568751,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 34.011269563625,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.40740000000000004,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 36.640103140187506,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 16.6924649870625,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 143.6468795865,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 27.8758479225,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 28.574253968437503,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 134.28433601887502,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 396.40000000000003,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 3448.4058073437504,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 576.49576319375,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 419.49676463125,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 4644.0037035375,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 22.2510839253125,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 12.77800557875,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1492.07964443125,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 435.56537052500005,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 56.84059613250001,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.1398105006500001,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.62447679324375,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 46.32267099859375,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.60347838548125,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 392.28339266874997,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 392.28339266874997,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1.624,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.3000000000000003,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 7.039183883562501,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 130.62186429937498,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1656.0224128773748,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 100.78378354437501,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 152.87246665490386,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 170.056347818125,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 47.8822931955,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 111.50339169,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 268.56867203775005,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 132.13333333333333,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 143.6835753059896,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 57.649576319375,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 99.88018205505954,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 98.80858943696809,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 123.61713291840277,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 116.16368707954544,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 213.15423491875,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 48.39615228055556,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 63.156217925000014,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 94.9842083875,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 124.95975332644231,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 289.51669374121093,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 200.26756811394233,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 98.07084816718749,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 67.66666666666667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 8.666666666666668,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 46.92789255708333,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 108.85155358281249,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 99.36710332568751,
- hasRDI: true,
- daily: 152.87246665490386,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 34.011269563625,
- hasRDI: true,
- daily: 170.056347818125,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.40740000000000004,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 36.640103140187506,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 16.6924649870625,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 143.6468795865,
- hasRDI: true,
- daily: 47.8822931955,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 115.771031664,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 27.8758479225,
- hasRDI: true,
- daily: 111.50339169,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 28.574253968437503,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 134.28433601887502,
- hasRDI: true,
- daily: 268.56867203775005,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 396.40000000000003,
- hasRDI: true,
- daily: 132.13333333333333,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 3448.4058073437504,
- hasRDI: true,
- daily: 143.6835753059896,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 576.49576319375,
- hasRDI: true,
- daily: 57.649576319375,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 419.49676463125,
- hasRDI: true,
- daily: 99.88018205505954,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 4644.0037035375,
- hasRDI: true,
- daily: 98.80858943696809,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 22.2510839253125,
- hasRDI: true,
- daily: 123.61713291840277,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 12.77800557875,
- hasRDI: true,
- daily: 116.16368707954544,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1492.07964443125,
- hasRDI: true,
- daily: 213.15423491875,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 435.56537052500005,
- hasRDI: true,
- daily: 48.39615228055556,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 56.84059613250001,
- hasRDI: true,
- daily: 63.156217925000014,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.1398105006500001,
- hasRDI: true,
- daily: 94.9842083875,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.62447679324375,
- hasRDI: true,
- daily: 124.95975332644231,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 46.32267099859375,
- hasRDI: true,
- daily: 289.51669374121093,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.60347838548125,
- hasRDI: true,
- daily: 200.26756811394233,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 392.28339266874997,
- hasRDI: true,
- daily: 98.07084816718749,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 392.28339266874997,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 1.624,
- hasRDI: true,
- daily: 67.66666666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.3000000000000003,
- hasRDI: true,
- daily: 8.666666666666668,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 7.039183883562501,
- hasRDI: true,
- daily: 46.92789255708333,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 130.62186429937498,
- hasRDI: true,
- daily: 108.85155358281249,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1656.0224128773748,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/6379680892262fe72b7daf2cfcb24965?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_8868b222a71cadfa850a188c6b9d2123',
- label: 'Crispy Chicken Dippers',
- image: 'https://www.edamam.com/web-img/c7b/c7bec34abe4f37580a4b5ffec912a956.jpg',
- source: 'The Daily Meal',
- url: 'http://www.thedailymeal.com/recipes/crispy-chicken-dippers-recipe',
- shareAs:
- 'http://www.edamam.com/recipe/crispy-chicken-dippers-8868b222a71cadfa850a188c6b9d2123/chicken',
- yield: 4,
- dietLabels: ['Balanced', 'High-Fiber'],
- healthLabels: [
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Soy', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '24 Ounces Tyson Crispy Chicken Strips',
- '2 cans crescent rolls',
- '21½ Ounces Cream of Chicken soup',
- '½ Teaspoon pepper',
- '16 baby carrots',
- '16 sticks celery',
- ],
- ingredients: [
- {
- text: '24 Ounces Tyson Crispy Chicken Strips',
- weight: 680.388555,
- foodCategory: 'sandwhiches',
- foodId: 'food_bpbsk7zaearxssa39q2fia84qudv',
- image: 'https://www.edamam.com/food-img/cc3/cc359f770f8f4d9ab2eeb40cc7bf6768.jpg',
- },
- {
- text: '2 cans crescent rolls',
- weight: 936,
- foodCategory: 'quick breads and pastries',
- foodId: 'food_br1iu0yblw2iwjbsgy3gsavhjfx1',
- image: 'https://www.edamam.com/food-img/c14/c14c034b0ab6ed147cefae5469e5dc39.jpg',
- },
- {
- text: '21½ Ounces Cream of Chicken soup',
- weight: 609.5147471875,
- foodCategory: 'canned soup',
- foodId: 'food_ai0spvcaict4osbmml7erbrgckhv',
- image: 'https://www.edamam.com/food-img/cdb/cdb46a22081917716e631ef03e519e52.jpg',
- },
- {
- text: '½ Teaspoon pepper',
- weight: 1.45,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '16 baby carrots',
- weight: 160,
- foodCategory: 'vegetables',
- foodId: 'food_bg0rlw7bt25ojiavi5k7dbv51765',
- image: 'https://www.edamam.com/food-img/954/9546f1fd29336cab2ecf552935d03206.jpg',
- },
- {
- text: '16 sticks celery',
- weight: 640,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- ],
- calories: 5040.9395627,
- totalWeight: 3027.3533021875,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 5040.9395627,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 220.80721878756248,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 60.563946027243745,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 8.5906020486,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 41.25698031881251,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 43.68898109349376,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 570.6054611306249,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 38.061027407187495,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 61.978834219999996,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 202.61309320634376,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 350.9670962875,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 17962.054160690626,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 729.90161895625,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 285.483442871875,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 4819.7451191375,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 31.237818319468747,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 7.5367520831875,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2210.813937178125,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1673.978037265625,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 32.0937888521875,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.0055351801625,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.7952842002468752,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 60.90967061490001,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.586940776603125,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 436.431015121875,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 368.392159621875,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 40.8233133,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1.3324275868750002,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.3607771100000001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 23.311397193500003,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 259.36473440000003,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1963.2513559533127,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 252.04697813500002,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 339.7034135193269,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 302.8197301362187,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 190.20182037687496,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 152.24410962874998,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 405.2261864126875,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 116.98903209583334,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 748.4189233621095,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 72.99016189562501,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 67.97224830282738,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 102.54776849228725,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 173.5434351081597,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 68.51592802897727,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 315.83056245401787,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 185.99755969618056,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 35.659765391319446,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 83.794598346875,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 138.098784634375,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 380.68544134312504,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 275.91852127716345,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 109.10775378046876,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 55.517816119791675,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 9.071847400000001,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 155.40931462333336,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 216.13727866666667,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 220.80721878756248,
- hasRDI: true,
- daily: 339.7034135193269,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 60.563946027243745,
- hasRDI: true,
- daily: 302.8197301362187,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 8.5906020486,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 41.25698031881251,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 43.68898109349376,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 570.6054611306249,
- hasRDI: true,
- daily: 190.20182037687496,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 532.5444337234375,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 38.061027407187495,
- hasRDI: true,
- daily: 152.24410962874998,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 61.978834219999996,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 202.61309320634376,
- hasRDI: true,
- daily: 405.2261864126875,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 350.9670962875,
- hasRDI: true,
- daily: 116.98903209583334,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 17962.054160690626,
- hasRDI: true,
- daily: 748.4189233621095,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 729.90161895625,
- hasRDI: true,
- daily: 72.99016189562501,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 285.483442871875,
- hasRDI: true,
- daily: 67.97224830282738,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 4819.7451191375,
- hasRDI: true,
- daily: 102.54776849228725,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 31.237818319468747,
- hasRDI: true,
- daily: 173.5434351081597,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 7.5367520831875,
- hasRDI: true,
- daily: 68.51592802897727,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2210.813937178125,
- hasRDI: true,
- daily: 315.83056245401787,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1673.978037265625,
- hasRDI: true,
- daily: 185.99755969618056,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 32.0937888521875,
- hasRDI: true,
- daily: 35.659765391319446,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.0055351801625,
- hasRDI: true,
- daily: 83.794598346875,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.7952842002468752,
- hasRDI: true,
- daily: 138.098784634375,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 60.90967061490001,
- hasRDI: true,
- daily: 380.68544134312504,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.586940776603125,
- hasRDI: true,
- daily: 275.91852127716345,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 436.431015121875,
- hasRDI: true,
- daily: 109.10775378046876,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 368.392159621875,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 40.8233133,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 1.3324275868750002,
- hasRDI: true,
- daily: 55.517816119791675,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.3607771100000001,
- hasRDI: true,
- daily: 9.071847400000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 23.311397193500003,
- hasRDI: true,
- daily: 155.40931462333336,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 259.36473440000003,
- hasRDI: true,
- daily: 216.13727866666667,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1963.2513559533127,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/8868b222a71cadfa850a188c6b9d2123?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_b8af944c52674f962ad4b9743b99423a',
- label: 'Ultimate Roast Chicken',
- image: 'https://www.edamam.com/web-img/f61/f61dcb579d45dcf7624346abd71eac1b.jpg',
- source: 'My Recipes',
- url: 'http://www.myrecipes.com/recipe/ultimate-roast-chicken',
- shareAs:
- 'http://www.edamam.com/recipe/ultimate-roast-chicken-b8af944c52674f962ad4b9743b99423a/chicken',
- yield: 6,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Paleo',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- 'Immuno-Supportive',
- ],
- cautions: [],
- ingredientLines: [
- '1 chicken, 3* to 4 1/2 lbs., lumps of fat and tail removed, rinsed and patted very dry',
- 'Fine sea salt (1 1/2 tsp. for a 3- to 3 3/4-lb. chicken or 2 tsp. for a 4- to 4 1/2-lb. chicken)',
- 'Pepper (3/4 tsp. for a smaller chicken or 1 tsp. for a larger one)',
- 'French Herb Seasoning Rub or',
- 'Mediterranean Coriander Seasoning Rub (optional)',
- 'About 1 tbsp. olive oil (for plain or French Herb chicken)',
- ],
- ingredients: [
- {
- text: '1 chicken, 3* to 4 1/2 lbs., lumps of fat and tail removed, rinsed and patted very dry',
- weight: 1360.77711,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: 'Fine sea salt (1 1/2 tsp. for a 3- to 3 3/4-lb. chicken or 2 tsp. for a 4- to 4 1/2-lb. chicken)',
- weight: 3,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Pepper (3/4 tsp. for a smaller chicken or 1 tsp. for a larger one)',
- weight: 11.6,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: 'French Herb Seasoning Rub or',
- weight: 13.8887711,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_avsq22zadwyb5cb5sl1byaa4mbo8',
- image: 'https://www.edamam.com/food-img/89b/89b37a04e46e052671d73addcb84aa51.jpg',
- },
- {
- text: 'Mediterranean Coriander Seasoning Rub (optional)',
- weight: 6.94438555,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_afpcy6rb44nx6gbfff63ga2cqksw',
- image: 'https://www.edamam.com/food-img/a90/a901cee0b9028841d258f5d07b5924e7.jpg',
- },
- {
- text: 'About 1 tbsp. olive oil (for plain or French Herb chicken)',
- weight: 13.5,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- ],
- calories: 2196.939411995,
- totalWeight: 1409.71026665,
- totalTime: 0,
- cuisineType: ['french'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2196.939411995,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 155.49857528584502,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 42.355120407855004,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.897568581756,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 68.68427811338,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 31.711284567254992,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 20.117397855285,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 10.983342852449999,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 0.31173798581,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 175.44061641254498,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 693.9963260999999,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1823.1292634074996,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 465.7625951675,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 258.403455695,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2104.4497034445003,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 27.83966071456,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 13.447554670709998,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1434.8797659665,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 408.905323358,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 23.2079614723,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.6555715380875,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.206829036544,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 63.898195555303,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.3487937628499997,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 95.546938902,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 95.546938902,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 2.8685181478799997,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.8506568695999999,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 5.872755382679999,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 279.1191070315,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 613.77280195294,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 109.84697059974998,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 239.22857736283848,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 211.77560203927501,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 6.705799285095,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 43.933371409799996,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 350.88123282508997,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 231.33210869999996,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 75.9637193086458,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 46.57625951675001,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 61.52463230833333,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 44.775525605202134,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 154.66478174755557,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 122.25049700645454,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 204.9828237095,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 45.43392481755555,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 25.78662385811111,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 54.63096150729167,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 92.83300281107691,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 399.36372222064375,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 257.5995202192307,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 23.886734725500002,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 119.52158949499999,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 12.337712463999999,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 39.151702551199996,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 232.59925585958334,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 155.49857528584502,
- hasRDI: true,
- daily: 239.22857736283848,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 42.355120407855004,
- hasRDI: true,
- daily: 211.77560203927501,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.897568581756,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 68.68427811338,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 31.711284567254992,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 20.117397855285,
- hasRDI: true,
- daily: 6.705799285095,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 9.134055002835,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 10.983342852449999,
- hasRDI: true,
- daily: 43.933371409799996,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 0.31173798581,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 175.44061641254498,
- hasRDI: true,
- daily: 350.88123282508997,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 693.9963260999999,
- hasRDI: true,
- daily: 231.33210869999996,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1823.1292634074996,
- hasRDI: true,
- daily: 75.9637193086458,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 465.7625951675,
- hasRDI: true,
- daily: 46.57625951675001,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 258.403455695,
- hasRDI: true,
- daily: 61.52463230833333,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2104.4497034445003,
- hasRDI: true,
- daily: 44.775525605202134,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 27.83966071456,
- hasRDI: true,
- daily: 154.66478174755557,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 13.447554670709998,
- hasRDI: true,
- daily: 122.25049700645454,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1434.8797659665,
- hasRDI: true,
- daily: 204.9828237095,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 408.905323358,
- hasRDI: true,
- daily: 45.43392481755555,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 23.2079614723,
- hasRDI: true,
- daily: 25.78662385811111,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.6555715380875,
- hasRDI: true,
- daily: 54.63096150729167,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.206829036544,
- hasRDI: true,
- daily: 92.83300281107691,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 63.898195555303,
- hasRDI: true,
- daily: 399.36372222064375,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.3487937628499997,
- hasRDI: true,
- daily: 257.5995202192307,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 95.546938902,
- hasRDI: true,
- daily: 23.886734725500002,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 95.546938902,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 2.8685181478799997,
- hasRDI: true,
- daily: 119.52158949499999,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.8506568695999999,
- hasRDI: true,
- daily: 12.337712463999999,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 5.872755382679999,
- hasRDI: true,
- daily: 39.151702551199996,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 279.1191070315,
- hasRDI: true,
- daily: 232.59925585958334,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 613.77280195294,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/b8af944c52674f962ad4b9743b99423a?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_10abfbc20e802c832453500bcc50e1bd',
- label: 'Chicken Piccata',
- image: 'https://www.edamam.com/web-img/ce0/ce0601eba5b5a77a2dcb359a0051c68c.jpg',
- source: 'No Recipes',
- url: 'http://norecipes.com/blog/chicken-piccata-recipe/',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-piccata-10abfbc20e802c832453500bcc50e1bd/chicken',
- yield: 2,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '2 large chicken breasts',
- '1/2 cup flour',
- '3 tablespoons vegetable oil',
- '2 scallions white part only, minced',
- '3 tablespoons lemon juice',
- '1 cup chicken stock',
- '1 teaspoon honey',
- '2 tablespoons unsalted butter cut into small pieces',
- '2 tablespoons parsley minced',
- '2 tablespoons capers',
- '1 teaspoon lemon zest finely zested',
- ],
- ingredients: [
- {
- text: '2 large chicken breasts',
- weight: 435,
- foodCategory: 'Poultry',
- foodId: 'food_a9hdg97b1sqqs5aj1al75bbo5iyt',
- image: 'https://www.edamam.com/food-img/093/093749f4c93e448119fc81976d2c3067.jpg',
- },
- {
- text: '1/2 cup flour',
- weight: 62.5,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '3 tablespoons vegetable oil',
- weight: 42,
- foodCategory: 'Oils',
- foodId: 'food_bt1mzi2ah2sfg8bv7no1qai83w8s',
- image: 'https://www.edamam.com/food-img/6e5/6e51a63a6300a8ea1b4c4cc68dfaba33.jpg',
- },
- {
- text: '2 scallions white part only, minced',
- weight: 30,
- foodCategory: 'vegetables',
- foodId: 'food_bknlkyzbuzo27pb11whr4bttkuy6',
- image: 'https://www.edamam.com/food-img/b89/b89986ed6aa466285bdd99bac34b3c46.jpg',
- },
- {
- text: '3 tablespoons lemon juice',
- weight: 45.7499999992266,
- foodCategory: '100% juice',
- foodId: 'food_bglm6vxahuauteb0n6ynfbg9eryu',
- image: 'https://www.edamam.com/food-img/e31/e310952d214e78a4cb8b73f30ceeaaf2.jpg',
- },
- {
- text: '1 cup chicken stock',
- weight: 240,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- {
- text: '1 teaspoon honey',
- weight: 7.0625000003582175,
- foodCategory: null,
- foodId: 'food_bn6aoj9atkqx8fbkli859bbbxx62',
- image: 'https://www.edamam.com/food-img/198/198c7b25c23b4235b4cc33818c7b335f.jpg',
- },
- {
- text: '2 tablespoons unsalted butter cut into small pieces',
- weight: 28.4,
- foodCategory: 'Dairy',
- foodId: 'food_awz3iefajbk1fwahq9logahmgltj',
- image: 'https://www.edamam.com/food-img/713/71397239b670d88c04faa8d05035cab4.jpg',
- },
- {
- text: '2 tablespoons parsley minced',
- weight: 7.6,
- foodCategory: 'vegetables',
- foodId: 'food_b244pqdazw24zobr5vqu2bf0uid8',
- image: 'https://www.edamam.com/food-img/46a/46a132e96626d7989b4d6ed8c91f4da0.jpg',
- },
- {
- text: '2 tablespoons capers',
- weight: 17.2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_ak4s9lna3rmnfeaz93ni0blu823w',
- image: 'https://www.edamam.com/food-img/627/627582f390a350d98c367f89c3a943fe.jpg',
- },
- {
- text: '1 teaspoon lemon zest finely zested',
- weight: 2,
- foodCategory: 'fruit',
- foodId: 'food_bpg66j3a5vjuuga36uiiyaqeazpd',
- image: 'https://www.edamam.com/food-img/540/5405605c8e9b284243f06c0b1587ab6f.jpg',
- },
- ],
- calories: 1685.7750000009187,
- totalWeight: 917.5124999995849,
- totalTime: 0,
- cuisineType: ['italian'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1685.7750000009187,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 109.14599999999814,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 29.840194999999692,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.709842,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 54.318679999999944,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 17.43599649999984,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 69.0032000002418,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 3.632074999998397,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 11.847935000274678,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 5.799725000294168,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 104.83510249999838,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 346.66,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1035.3960000000066,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 116.0577499999751,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 151.33024999996078,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1468.4699999993902,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 5.744632500000884,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 4.575832500000402,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 917.4264999999526,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 349.316,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 37.28816249970249,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.47278199999981435,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.6749082500000203,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 48.12218812499973,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.53552799999973,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 90.76124999985251,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 90.76124999985251,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1.5272800000000004,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 2.1660000000000004,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 11.54586499999884,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 193.6267,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 628.9646324993473,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 84.28875000004594,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 167.9169230769202,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 149.20097499999846,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 23.001066666747267,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 14.528299999993587,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 209.6702049999968,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 115.55333333333333,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 43.14150000000028,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 11.605774999997509,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 36.03101190475257,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 31.244042553178517,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 31.914625000004914,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 41.598477272730925,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 131.0609285714218,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 38.812888888888885,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 41.4312916663361,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 39.39849999998453,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 51.91601923077079,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 300.7636757812483,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 195.04061538459462,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 22.690312499963127,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 63.636666666666684,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 14.440000000000001,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 76.9724333333256,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 161.35558333333333,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 109.14599999999814,
- hasRDI: true,
- daily: 167.9169230769202,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 29.840194999999692,
- hasRDI: true,
- daily: 149.20097499999846,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.709842,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 54.318679999999944,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 17.43599649999984,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 69.0032000002418,
- hasRDI: true,
- daily: 23.001066666747267,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 65.37112500024341,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 3.632074999998397,
- hasRDI: true,
- daily: 14.528299999993587,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 11.847935000274678,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 5.799725000294168,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 104.83510249999838,
- hasRDI: true,
- daily: 209.6702049999968,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 346.66,
- hasRDI: true,
- daily: 115.55333333333333,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1035.3960000000066,
- hasRDI: true,
- daily: 43.14150000000028,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 116.0577499999751,
- hasRDI: true,
- daily: 11.605774999997509,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 151.33024999996078,
- hasRDI: true,
- daily: 36.03101190475257,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1468.4699999993902,
- hasRDI: true,
- daily: 31.244042553178517,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 5.744632500000884,
- hasRDI: true,
- daily: 31.914625000004914,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 4.575832500000402,
- hasRDI: true,
- daily: 41.598477272730925,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 917.4264999999526,
- hasRDI: true,
- daily: 131.0609285714218,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 349.316,
- hasRDI: true,
- daily: 38.812888888888885,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 37.28816249970249,
- hasRDI: true,
- daily: 41.4312916663361,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.47278199999981435,
- hasRDI: true,
- daily: 39.39849999998453,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.6749082500000203,
- hasRDI: true,
- daily: 51.91601923077079,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 48.12218812499973,
- hasRDI: true,
- daily: 300.7636757812483,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.53552799999973,
- hasRDI: true,
- daily: 195.04061538459462,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 90.76124999985251,
- hasRDI: true,
- daily: 22.690312499963127,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 90.76124999985251,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 1.5272800000000004,
- hasRDI: true,
- daily: 63.636666666666684,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 2.1660000000000004,
- hasRDI: true,
- daily: 14.440000000000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 11.54586499999884,
- hasRDI: true,
- daily: 76.9724333333256,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 193.6267,
- hasRDI: true,
- daily: 161.35558333333333,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 628.9646324993473,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/10abfbc20e802c832453500bcc50e1bd?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- ],
-};
-
-export const beefRecipes = {
- from: 1,
- to: 20,
- count: 10000,
- _links: {
- next: {
- href: 'https://api.edamam.com/api/recipes/v2?q=beef&app_key=fd382a172ba8d6668c0430dc9c14a181&_cont=CHcVQBtNNQphDmgVQntAEX4BYlJtBgQEQGBHCmcWalZxAgIAUXlSVmpHZ1J1AwIAF2JBV2cWagZwAAEBFWQRCzEVMlF7VQEVLnlSVSBMPkd5BgMbUSYRVTdgMgksRlpSAAcRXTVGcV84SU4%3D&type=public&app_id=ea1d37d5',
- title: 'Next page',
- },
- },
- hits: [
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_7eb3edfc916ebf0e4b028c8e5c04b81a',
- label: 'Roast sirloin of beef',
- image: 'https://images.unsplash.com/photo-1690983330536-3b0089d07cf9 ',
- source: 'BBC Good Food',
- url: 'http://www.bbcgoodfood.com/recipes/2558/roast-sirloin-of-beef',
- shareAs:
- 'http://www.edamam.com/recipe/roast-sirloin-of-beef-7eb3edfc916ebf0e4b028c8e5c04b81a/beef',
- yield: 6,
- dietLabels: ['High-Protein', 'Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat', 'Sulfites'],
- ingredientLines: [
- '2 tbsp vegetable oil or beef fat',
- '1-1½kg/2lb 4-3lb 5oz sirloin of beef joint',
- '1 glass red wine',
- '400g can beef consommé',
- ],
- ingredients: [
- {
- text: '2 tbsp vegetable oil or beef fat',
- weight: 28,
- foodCategory: 'Oils',
- foodId: 'food_bt1mzi2ah2sfg8bv7no1qai83w8s',
- image: 'https://www.edamam.com/food-img/6e5/6e51a63a6300a8ea1b4c4cc68dfaba33.jpg',
- },
- {
- text: '1-1½kg/2lb 4-3lb 5oz sirloin of beef joint',
- weight: 1250,
- foodCategory: 'meats',
- foodId: 'food_bknby1la98smrsbwnthinbam42nj',
- image: 'https://www.edamam.com/food-img/bab/bab88ab3ea40d34e4c8ae35d6b30344a.jpg',
- },
- {
- text: '1 glass red wine',
- weight: 235.2,
- foodCategory: 'wines',
- foodId: 'food_b5q0xv2ba8la5hbzdfzdgaca3fwu',
- image: 'https://www.edamam.com/food-img/82b/82b8d0db2d5c38fc7498a657c0afc4ee.JPG',
- },
- {
- text: '400g can beef consommé',
- weight: 400,
- foodCategory: 'canned soup',
- foodId: 'food_arlagstbtxcrk4ablvuh9b36no9m',
- image: 'https://www.edamam.com/food-img/6a5/6a5f7cf073a7e70af946bfb4d558a914.jpg',
- },
- ],
- calories: 2120.44,
- totalWeight: 1913.2,
- totalTime: 160,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2120.44,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 88.125,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 26.673080000000002,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 3.33976,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 51.53248,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 8.66244,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 10.55872,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 1.45824,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 279.54464,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 787.5,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2052.908,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 197.316,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 290.724,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 5217.204,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 28.08692,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 68.55427999999999,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2818.596,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 25,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 1.6,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.04776,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.245912,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 62.79434799999999,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 7.274064,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 43.852,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 43.852,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 28.375,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.25,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 8.354000000000001,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 19.6908,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1492.38448,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 106.022,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 135.57692307692307,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 133.36540000000002,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 3.5195733333333328,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 559.08928,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 262.5,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 85.53783333333332,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 19.7316,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 69.22,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 111.00434042553191,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 156.03844444444445,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 623.2207272727272,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 402.6565714285714,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 2.7777777777777777,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 1.7777777777777777,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 87.31333333333333,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 172.76246153846154,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 392.46467499999994,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 559.5433846153845,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 10.963,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1182.2916666666667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 8.333333333333334,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 55.69333333333334,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 16.409,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 88.125,
- hasRDI: true,
- daily: 135.57692307692307,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 26.673080000000002,
- hasRDI: true,
- daily: 133.36540000000002,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 3.33976,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 51.53248,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 8.66244,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 10.55872,
- hasRDI: true,
- daily: 3.5195733333333328,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 10.55872,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 1.45824,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 279.54464,
- hasRDI: true,
- daily: 559.08928,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 787.5,
- hasRDI: true,
- daily: 262.5,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2052.908,
- hasRDI: true,
- daily: 85.53783333333332,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 197.316,
- hasRDI: true,
- daily: 19.7316,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 290.724,
- hasRDI: true,
- daily: 69.22,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 5217.204,
- hasRDI: true,
- daily: 111.00434042553191,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 28.08692,
- hasRDI: true,
- daily: 156.03844444444445,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 68.55427999999999,
- hasRDI: true,
- daily: 623.2207272727272,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2818.596,
- hasRDI: true,
- daily: 402.6565714285714,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 25,
- hasRDI: true,
- daily: 2.7777777777777777,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 1.6,
- hasRDI: true,
- daily: 1.7777777777777777,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.04776,
- hasRDI: true,
- daily: 87.31333333333333,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.245912,
- hasRDI: true,
- daily: 172.76246153846154,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 62.79434799999999,
- hasRDI: true,
- daily: 392.46467499999994,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 7.274064,
- hasRDI: true,
- daily: 559.5433846153845,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 43.852,
- hasRDI: true,
- daily: 10.963,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 43.852,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 28.375,
- hasRDI: true,
- daily: 1182.2916666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.25,
- hasRDI: true,
- daily: 8.333333333333334,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 8.354000000000001,
- hasRDI: true,
- daily: 55.69333333333334,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 19.6908,
- hasRDI: true,
- daily: 16.409,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1492.38448,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/7eb3edfc916ebf0e4b028c8e5c04b81a?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_0f3a359371750f372c7ac3c1459751d9',
- label: 'Beef Tea',
- image: 'https://www.edamam.com/web-img/ad3/ad35ae4c847dcd39bad104838007f84a.jpg',
- source: 'Epicurious',
- url: 'https://www.epicurious.com/recipes/food/views/beef-tea-395253',
- shareAs: 'http://www.edamam.com/recipe/beef-tea-0f3a359371750f372c7ac3c1459751d9/beef',
- yield: 2,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Low Sugar',
- 'Keto-Friendly',
- 'Paleo',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- ],
- cautions: [],
- ingredientLines: [
- '8 ounces beef chuck steak, cut into 1/2-inch cubes',
- '1/4 teaspoon salt',
- '3 cups water',
- ],
- ingredients: [
- {
- text: '8 ounces beef chuck steak, cut into 1/2-inch cubes',
- weight: 226.796185,
- foodCategory: 'meats',
- foodId: 'food_ah7w61mayp8jqjbbgicxfaib9opa',
- image: 'https://www.edamam.com/food-img/e53/e53f909f06b1a44972b9492a7604beee.jpg',
- },
- {
- text: '1/4 teaspoon salt',
- weight: 1.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '3 cups water',
- weight: 711,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- ],
- calories: 514.82733995,
- totalWeight: 939.296185,
- totalTime: 0,
- cuisineType: ['south american'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 514.82733995,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 38.21515717250001,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 16.2748942356,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 2.3949677136000003,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 18.093799639300002,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 2.6058881656500006,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 0,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 0,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 42.773760491000004,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 154.2214058,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 759.4954821000001,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 53.44146590000001,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 50.21627515000001,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 748.5474105000001,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 4.767669885000001,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 16.628721505,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 405.96517115000006,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 9.071847400000001,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.15875732950000004,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.31978262085000003,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 9.842954429,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.7393555631000002,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 6.80388555,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 6.80388555,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 6.214215469000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.22679618500000004,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.34019427750000003,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 3.401942775,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 855.3961991630001,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 25.741366997500002,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 58.79254949615386,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 81.37447117800001,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 0,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 85.54752098200001,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 51.40713526666667,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 31.645645087500004,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 5.344146590000001,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 11.95625598809524,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 15.926540648936173,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 26.487054916666672,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 151.1701955,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 57.99502445000002,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1.0079830444444446,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 13.229777458333338,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 24.598663142307696,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 61.51846518125,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 56.87350485384616,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 1.7009713875,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 258.9256445416667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.5119745666666669,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 2.2679618500000003,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 2.8349523125,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 38.21515717250001,
- hasRDI: true,
- daily: 58.79254949615386,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 16.2748942356,
- hasRDI: true,
- daily: 81.37447117800001,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 2.3949677136000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 18.093799639300002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 2.6058881656500006,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 42.773760491000004,
- hasRDI: true,
- daily: 85.54752098200001,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 154.2214058,
- hasRDI: true,
- daily: 51.40713526666667,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 759.4954821000001,
- hasRDI: true,
- daily: 31.645645087500004,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 53.44146590000001,
- hasRDI: true,
- daily: 5.344146590000001,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 50.21627515000001,
- hasRDI: true,
- daily: 11.95625598809524,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 748.5474105000001,
- hasRDI: true,
- daily: 15.926540648936173,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 4.767669885000001,
- hasRDI: true,
- daily: 26.487054916666672,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 16.628721505,
- hasRDI: true,
- daily: 151.1701955,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 405.96517115000006,
- hasRDI: true,
- daily: 57.99502445000002,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 9.071847400000001,
- hasRDI: true,
- daily: 1.0079830444444446,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.15875732950000004,
- hasRDI: true,
- daily: 13.229777458333338,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.31978262085000003,
- hasRDI: true,
- daily: 24.598663142307696,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 9.842954429,
- hasRDI: true,
- daily: 61.51846518125,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.7393555631000002,
- hasRDI: true,
- daily: 56.87350485384616,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 6.80388555,
- hasRDI: true,
- daily: 1.7009713875,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 6.80388555,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 6.214215469000001,
- hasRDI: true,
- daily: 258.9256445416667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.22679618500000004,
- hasRDI: true,
- daily: 1.5119745666666669,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.34019427750000003,
- hasRDI: true,
- daily: 2.2679618500000003,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 3.401942775,
- hasRDI: true,
- daily: 2.8349523125,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 855.3961991630001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/0f3a359371750f372c7ac3c1459751d9?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_710678b0fae9d4fa004975ef91aae1a3',
- label: 'Beef Brisket',
- image: 'https://www.edamam.com/web-img/deb/debce0693c8d8a6988af80e1f94e4c4c.jpg',
- source: 'Simply Recipes',
- url: 'http://simplyrecipes.com/recipes/beef_brisket/',
- shareAs: 'http://www.edamam.com/recipe/beef-brisket-710678b0fae9d4fa004975ef91aae1a3/beef',
- yield: 8,
- dietLabels: ['High-Protein', 'Low-Carb'],
- healthLabels: [
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '3 to 4 lbs of a brisket cut of beef',
- '3/4 cup barbeque sauce',
- '1/4 cup soy sauce',
- '1 cup of water',
- ],
- ingredients: [
- {
- text: '3 to 4 lbs of a brisket cut of beef',
- weight: 1587.5732950000001,
- foodCategory: 'meats',
- foodId: 'food_bknby1la98smrsbwnthinbam42nj',
- image: 'https://www.edamam.com/food-img/bab/bab88ab3ea40d34e4c8ae35d6b30344a.jpg',
- },
- {
- text: '3/4 cup barbeque sauce',
- weight: 214.5,
- foodCategory: 'canned soup',
- foodId: 'food_avt8j2wabi4myjaafpo4makv3lqn',
- image: 'https://www.edamam.com/food-img/7e3/7e303aa2cbb51e4bd70f71bf5cb4a754.jpg',
- },
- {
- text: '1/4 cup soy sauce',
- weight: 63.75,
- foodCategory: 'plant-based protein',
- foodId: 'food_a5g9yevb1iactoaiimbvjbkrxueh',
- image: 'https://www.edamam.com/food-img/f56/f562e461eb0618f367f538b836c17b82.jpg',
- },
- {
- text: '1 cup of water',
- weight: 237,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- ],
- calories: 2466.5727835000002,
- totalWeight: 2102.823295,
- totalTime: 0,
- cuisineType: ['british'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2466.5727835000002,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 78.07700048950001,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 31.704019604600003,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 3.9689332375000004,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 40.0800797045,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 5.3057847145,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 92.499612954,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 2.4405,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 71.5548,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 350.49901103800005,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1000.17117585,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 6968.36540305,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 305.31702835000004,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 410.82039195000004,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 6696.600890350001,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 35.477456865499995,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 86.83069025950002,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 3593.7590501500003,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 55.3464659,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 1.287,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.3382861360000002,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.9198921015000003,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 80.26522192665,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 9.272641315600001,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 60.84219885,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 60.84219885,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 36.03791379650001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.5875732950000003,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 4.573631931,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 27.674599425000004,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1547.6070819440001,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 123.32863917500002,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 120.11846229153846,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 158.520098023,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 30.833204318,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 9.762,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 700.9980220760001,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 333.39039195,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 290.34855846041665,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 30.531702835000004,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 97.8143790357143,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 142.4808700074468,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 197.09698258611107,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 789.3699114500002,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 513.3941500214286,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 6.149607322222223,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 1.43,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 111.52384466666668,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 224.60708473076923,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 501.6576370415625,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 713.2801012000001,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 15.2105497125,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1501.5797415208337,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 10.583821966666669,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 30.49087954,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 23.062166187500004,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 78.07700048950001,
- hasRDI: true,
- daily: 120.11846229153846,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 31.704019604600003,
- hasRDI: true,
- daily: 158.520098023,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 3.9689332375000004,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 40.0800797045,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 5.3057847145,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 92.499612954,
- hasRDI: true,
- daily: 30.833204318,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 90.059112954,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 2.4405,
- hasRDI: true,
- daily: 9.762,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 71.5548,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 350.49901103800005,
- hasRDI: true,
- daily: 700.9980220760001,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1000.17117585,
- hasRDI: true,
- daily: 333.39039195,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 6968.36540305,
- hasRDI: true,
- daily: 290.34855846041665,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 305.31702835000004,
- hasRDI: true,
- daily: 30.531702835000004,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 410.82039195000004,
- hasRDI: true,
- daily: 97.8143790357143,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 6696.600890350001,
- hasRDI: true,
- daily: 142.4808700074468,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 35.477456865499995,
- hasRDI: true,
- daily: 197.09698258611107,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 86.83069025950002,
- hasRDI: true,
- daily: 789.3699114500002,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 3593.7590501500003,
- hasRDI: true,
- daily: 513.3941500214286,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 55.3464659,
- hasRDI: true,
- daily: 6.149607322222223,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 1.287,
- hasRDI: true,
- daily: 1.43,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.3382861360000002,
- hasRDI: true,
- daily: 111.52384466666668,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.9198921015000003,
- hasRDI: true,
- daily: 224.60708473076923,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 80.26522192665,
- hasRDI: true,
- daily: 501.6576370415625,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 9.272641315600001,
- hasRDI: true,
- daily: 713.2801012000001,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 60.84219885,
- hasRDI: true,
- daily: 15.2105497125,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 60.84219885,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 36.03791379650001,
- hasRDI: true,
- daily: 1501.5797415208337,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.5875732950000003,
- hasRDI: true,
- daily: 10.583821966666669,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 4.573631931,
- hasRDI: true,
- daily: 30.49087954,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 27.674599425000004,
- hasRDI: true,
- daily: 23.062166187500004,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1547.6070819440001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/710678b0fae9d4fa004975ef91aae1a3?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_333e271a3dc26d367d4f6c1776cd0b13',
- label: 'Barbecued Beef Brisket',
- image: 'https://www.edamam.com/web-img/b64/b64005809d54d818e6ded326347b07c8.jpg',
- source: 'Saveur',
- url: 'http://www.saveur.com/article/Recipes/Barbecued-Beef-Brisket',
- shareAs:
- 'http://www.edamam.com/recipe/barbecued-beef-brisket-333e271a3dc26d367d4f6c1776cd0b13/beef',
- yield: 30,
- dietLabels: ['Low-Carb', 'Low-Sodium'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '2 tbsp. chili powder',
- '1 tbsp. cayenne',
- '1 8-10-lb. beef brisket',
- '1 cup apple juice',
- ],
- ingredients: [
- {
- text: '2 tbsp. chili powder',
- weight: 16,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_aii2sclb4r123rbfr2ybjasrl3nc',
- image: 'https://www.edamam.com/food-img/e6f/e6f19043caefc23b5feda5520076617e.jpg',
- },
- {
- text: '1 tbsp. cayenne',
- weight: 5.3,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a8iooz3aris8gba605l07brngnrx',
- image: 'https://www.edamam.com/food-img/374/3742b9434a0fb66a45e0dd6d227ba669.jpg',
- },
- {
- text: '1 8-10-lb. beef brisket',
- weight: 4082.33133,
- foodCategory: 'meats',
- foodId: 'food_akcl1lrbxwowcrai1l6xkbtvxhsn',
- image: 'https://www.edamam.com/food-img/e0d/e0dd59302a5bf4ff2d2e4797cdfe4160.jpg',
- },
- {
- text: '1 cup apple juice',
- weight: 248,
- foodCategory: 'fruit',
- foodId: 'food_ai7w4okaoeknd5b5j9o66bm6nu10',
- image: 'https://www.edamam.com/food-img/324/32497d8cd6291a6f03acc032e1da7676.jpg',
- },
- ],
- calories: 11443.2884708,
- totalWeight: 4351.63133,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 11443.2884708,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 910.2082983930001,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 366.5206171079,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 388.94492279630003,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 36.3169897385,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 38.97739,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 7.505599999999999,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 25.556019999999997,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 728.4684073410001,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 3837.3914502000002,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2837.9821714,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 774.4803261000001,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 779.1156394,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 11732.3399043,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 64.71396995,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 173.551655259,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 6775.912381200001,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 347.573,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 6.3932,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 2.9670959310000002,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 5.3033578492,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 165.13827318719999,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 18.716727731800002,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 377.5078197,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 377.5078197,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 56.336172354,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 25.262214719,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 90.56753261,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 2643.4372612220004,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 572.16442354,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 1400.320459066154,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 1832.6030855395002,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 12.992463333333333,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 30.022399999999998,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 1456.9368146820002,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1279.1304834,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 118.24925714166667,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 77.44803261000001,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 185.50372366666664,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 249.6242532829787,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 359.52205527777784,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1577.7423205363636,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 967.9874830285715,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 38.61922222222222,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 7.103555555555556,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 247.25799425000002,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 407.9506037846154,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 1032.11420742,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1439.7482870615386,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 94.376954925,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 2347.3405147500002,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 168.41476479333332,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 75.47294384166666,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 910.2082983930001,
- hasRDI: true,
- daily: 1400.320459066154,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 366.5206171079,
- hasRDI: true,
- daily: 1832.6030855395002,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 388.94492279630003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 36.3169897385,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 38.97739,
- hasRDI: true,
- daily: 12.992463333333333,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 31.47179,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 7.505599999999999,
- hasRDI: true,
- daily: 30.022399999999998,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 25.556019999999997,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 728.4684073410001,
- hasRDI: true,
- daily: 1456.9368146820002,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 3837.3914502000002,
- hasRDI: true,
- daily: 1279.1304834,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2837.9821714,
- hasRDI: true,
- daily: 118.24925714166667,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 774.4803261000001,
- hasRDI: true,
- daily: 77.44803261000001,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 779.1156394,
- hasRDI: true,
- daily: 185.50372366666664,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 11732.3399043,
- hasRDI: true,
- daily: 249.6242532829787,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 64.71396995,
- hasRDI: true,
- daily: 359.52205527777784,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 173.551655259,
- hasRDI: true,
- daily: 1577.7423205363636,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 6775.912381200001,
- hasRDI: true,
- daily: 967.9874830285715,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 347.573,
- hasRDI: true,
- daily: 38.61922222222222,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 6.3932,
- hasRDI: true,
- daily: 7.103555555555556,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 2.9670959310000002,
- hasRDI: true,
- daily: 247.25799425000002,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 5.3033578492,
- hasRDI: true,
- daily: 407.9506037846154,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 165.13827318719999,
- hasRDI: true,
- daily: 1032.11420742,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 18.716727731800002,
- hasRDI: true,
- daily: 1439.7482870615386,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 377.5078197,
- hasRDI: true,
- daily: 94.376954925,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 377.5078197,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 56.336172354,
- hasRDI: true,
- daily: 2347.3405147500002,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 25.262214719,
- hasRDI: true,
- daily: 168.41476479333332,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 90.56753261,
- hasRDI: true,
- daily: 75.47294384166666,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 2643.4372612220004,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/333e271a3dc26d367d4f6c1776cd0b13?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_321f22ade4bdf65d6166eca828bb53fc',
- label: 'Beef Tacos',
- image: 'https://www.edamam.com/web-img/219/219b9268b0f84eecf0cab133498b7ef3.jpg',
- source: 'No Recipes',
- url: 'http://norecipes.com/blog/2009/05/28/beef-tacos-recipe/',
- shareAs: 'http://www.edamam.com/recipe/beef-tacos-321f22ade4bdf65d6166eca828bb53fc/beef',
- yield: 8,
- dietLabels: [],
- healthLabels: [
- 'Sugar-Conscious',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Eggs', 'Milk', 'Sulfites'],
- ingredientLines: [
- '1/2 medium onion chopped',
- '2 cloves garlic minced',
- '1 lbs sliced or lean ground beef',
- '2 Tbs chili powder',
- '1 tsp kosher salt',
- '1/2 tsp sugar',
- '12 corn tortillas',
- '1 recipe salsa verde',
- 'cilantro',
- 'lime wedges',
- ],
- ingredients: [
- {
- text: '1/2 medium onion chopped',
- weight: 55,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '2 cloves garlic minced',
- weight: 6,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '1 lbs sliced or lean ground beef',
- weight: 453.59237,
- foodCategory: 'meats',
- foodId: 'food_boq91pbbhklr6sb0d9sbybzgklkm',
- image: 'https://www.edamam.com/food-img/cfa/cfae8f9276eaf8f0d9349ba662744a0c.jpg',
- },
- {
- text: '2 Tbs chili powder',
- weight: 16,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_aii2sclb4r123rbfr2ybjasrl3nc',
- image: 'https://www.edamam.com/food-img/e6f/e6f19043caefc23b5feda5520076617e.jpg',
- },
- {
- text: '1 tsp kosher salt',
- weight: 4.854166666912875,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1/2 tsp sugar',
- weight: 2.1,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '12 corn tortillas',
- weight: 288,
- foodCategory: 'quick breads and pastries',
- foodId: 'food_bhw0b95agm97s0abfignnb8fsvb3',
- image: 'https://www.edamam.com/food-img/b8a/b8ad23dcc06f2324f944e47eb579d644.jpg',
- },
- {
- text: '1 recipe salsa verde',
- weight: 8.9,
- foodCategory: 'canned soup',
- foodId: 'food_b0t3obfawlm5k2b6erxscacez35u',
- image: 'https://www.edamam.com/food-img/995/995d0f166754a0475c181b9c156fec43.jpg',
- },
- {
- text: 'cilantro',
- weight: 8.42821536666913,
- foodCategory: 'vegetables',
- foodId: 'food_alhzhuwb4lc7jnb5s6f02by60bzp',
- image: 'https://www.edamam.com/food-img/d57/d57e375b6ff99a90c7ee2b1990a1af36.jpg',
- },
- {
- text: 'lime wedges',
- weight: 8.375,
- foodCategory: 'fruit',
- foodId: 'food_av58muyb8kg92fbk0g8g8aui5knv',
- image: 'https://www.edamam.com/food-img/48a/48a123c9576647c4ada6a41df5eeb22a.jpg',
- },
- ],
- calories: 1871.1836093343338,
- totalWeight: 849.002929818369,
- totalTime: 0,
- cuisineType: ['mexican'],
- mealType: ['lunch/dinner'],
- dishType: ['sandwiches'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1871.1836093343338,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 101.37198071990669,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 36.11953001985135,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 5.3523899660000005,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 42.67537673985834,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 7.773398783846668,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 147.52550050395675,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 25.40369003026673,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 8.738122973690022,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 2.0958,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 97.81321591631007,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 322.05058270000006,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1968.2760058584822,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 402.96404356407635,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 319.36561233985094,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2254.808488616482,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 15.572275626680653,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 23.655141987285045,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1702.7049879760011,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 286.130280585675,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 10.935843149000666,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.5543391233956683,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.0625501875940042,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 25.65970979908469,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.602786645996337,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 67.51295942733486,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 67.51295942733486,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 9.706876718000002,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.4535923700000001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 8.03341741316673,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 51.950180296674304,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 490.152186397509,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 93.55918046671668,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 155.95689341524107,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 180.59765009925673,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 49.17516683465225,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 101.61476012106692,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 195.62643183262014,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 107.35019423333335,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 82.01150024410342,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 40.296404356407635,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 76.03943150948831,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 47.9746486939677,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 86.51264237044808,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 215.04674533895496,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 243.2435697108573,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 31.79225339840833,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 12.150936832222962,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 46.19492694963902,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 81.73462981492341,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 160.3731862442793,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 200.21435738433362,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 16.878239856833716,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 404.4531965833334,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 3.0239491333333337,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 53.55611608777819,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 43.29181691389525,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 101.37198071990669,
- hasRDI: true,
- daily: 155.95689341524107,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 36.11953001985135,
- hasRDI: true,
- daily: 180.59765009925673,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 5.3523899660000005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 42.67537673985834,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 7.773398783846668,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 147.52550050395675,
- hasRDI: true,
- daily: 49.17516683465225,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 122.12181047369002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 25.40369003026673,
- hasRDI: true,
- daily: 101.61476012106692,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 8.738122973690022,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 2.0958,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 97.81321591631007,
- hasRDI: true,
- daily: 195.62643183262014,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 322.05058270000006,
- hasRDI: true,
- daily: 107.35019423333335,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1968.2760058584822,
- hasRDI: true,
- daily: 82.01150024410342,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 402.96404356407635,
- hasRDI: true,
- daily: 40.296404356407635,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 319.36561233985094,
- hasRDI: true,
- daily: 76.03943150948831,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2254.808488616482,
- hasRDI: true,
- daily: 47.9746486939677,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 15.572275626680653,
- hasRDI: true,
- daily: 86.51264237044808,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 23.655141987285045,
- hasRDI: true,
- daily: 215.04674533895496,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1702.7049879760011,
- hasRDI: true,
- daily: 243.2435697108573,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 286.130280585675,
- hasRDI: true,
- daily: 31.79225339840833,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 10.935843149000666,
- hasRDI: true,
- daily: 12.150936832222962,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.5543391233956683,
- hasRDI: true,
- daily: 46.19492694963902,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.0625501875940042,
- hasRDI: true,
- daily: 81.73462981492341,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 25.65970979908469,
- hasRDI: true,
- daily: 160.3731862442793,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.602786645996337,
- hasRDI: true,
- daily: 200.21435738433362,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 67.51295942733486,
- hasRDI: true,
- daily: 16.878239856833716,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 67.51295942733486,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 9.706876718000002,
- hasRDI: true,
- daily: 404.4531965833334,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.4535923700000001,
- hasRDI: true,
- daily: 3.0239491333333337,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 8.03341741316673,
- hasRDI: true,
- daily: 53.55611608777819,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 51.950180296674304,
- hasRDI: true,
- daily: 43.29181691389525,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 490.152186397509,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/321f22ade4bdf65d6166eca828bb53fc?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_d61fd8290e964a2d1bb159a34ea942ae',
- label: 'Pioneer Woman’s Beef Brisket',
- image: 'https://www.edamam.com/web-img/c60/c60e420c3450c7eccd833271153f896e.jpg',
- source: 'Pioneer Woman',
- url: 'http://thepioneerwoman.com/cooking/2007/06/brisket_baby/',
- shareAs:
- 'http://www.edamam.com/recipe/pioneer-woman-s-beef-brisket-d61fd8290e964a2d1bb159a34ea942ae/beef',
- yield: 12,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat', 'Sulfites'],
- ingredientLines: [
- '2 cans Beef Consomme',
- '1/2 cup Lemon Juice',
- '1 1/2 cup Soy Sauce',
- '5 cloves Chopped Garlic',
- '2 tbsp Liquid Smoke',
- '10 pounds Beef Brisket',
- ],
- ingredients: [
- {
- text: '2 cans Beef Consomme',
- weight: 1172,
- foodCategory: 'canned soup',
- foodId: 'food_arlagstbtxcrk4ablvuh9b36no9m',
- image: 'https://www.edamam.com/food-img/6a5/6a5f7cf073a7e70af946bfb4d558a914.jpg',
- },
- {
- text: '1/2 cup Lemon Juice',
- weight: 122,
- foodCategory: '100% juice',
- foodId: 'food_bglm6vxahuauteb0n6ynfbg9eryu',
- image: 'https://www.edamam.com/food-img/e31/e310952d214e78a4cb8b73f30ceeaaf2.jpg',
- },
- {
- text: '1 1/2 cup Soy Sauce',
- weight: 382.5,
- foodCategory: 'plant-based protein',
- foodId: 'food_a5g9yevb1iactoaiimbvjbkrxueh',
- image: 'https://www.edamam.com/food-img/f56/f562e461eb0618f367f538b836c17b82.jpg',
- },
- {
- text: '5 cloves Chopped Garlic',
- weight: 15,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '2 tbsp Liquid Smoke',
- weight: 29.573529562,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- {
- text: '10 pounds Beef Brisket',
- weight: 4535.9237,
- foodCategory: 'meats',
- foodId: 'food_akcl1lrbxwowcrai1l6xkbtvxhsn',
- image: 'https://www.edamam.com/food-img/e0d/e0dd59302a5bf4ff2d2e4797cdfe4160.jpg',
- },
- ],
- calories: 12911.704412000001,
- totalWeight: 6256.997229562,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 12911.704412000001,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 1009.9767037700001,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 406.896216231,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 431.757273107,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 39.397500265,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 40.78985,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 3.7410000000000005,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 4.7544,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 864.56854149,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 4263.7682780000005,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 26740.59368718248,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 979.56923488686,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 1110.88200129562,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 14892.118226999999,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 76.5161055,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 197.19327986295622,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 8258.934868,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 56.58200000000001,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 3.4661315900000003,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 6.431110388,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 192.784320208,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 21.154889702,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 498.353133,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 498.353133,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 62.595747059999994,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 19.69947191,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 77.36570289999999,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 4242.647829612439,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 645.5852206,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 1553.8103134923076,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 2034.481081155,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 13.596616666666668,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 14.964000000000004,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 1729.13708298,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1421.2560926666667,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 1114.1914036326034,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 97.956923488686,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 264.49571459419525,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 316.85357929787233,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 425.089475,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1792.6661805723293,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1179.8478382857145,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 62.8688888888889,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 288.8442991666667,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 494.70079907692303,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 1204.9020013,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1627.2992078461539,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 124.58828325,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 2608.1561275,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 131.32981273333334,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 64.47141908333332,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 1009.9767037700001,
- hasRDI: true,
- daily: 1553.8103134923076,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 406.896216231,
- hasRDI: true,
- daily: 2034.481081155,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 431.757273107,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 39.397500265,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 40.78985,
- hasRDI: true,
- daily: 13.596616666666668,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 37.04885,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 3.7410000000000005,
- hasRDI: true,
- daily: 14.964000000000004,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 4.7544,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 864.56854149,
- hasRDI: true,
- daily: 1729.13708298,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 4263.7682780000005,
- hasRDI: true,
- daily: 1421.2560926666667,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 26740.59368718248,
- hasRDI: true,
- daily: 1114.1914036326034,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 979.56923488686,
- hasRDI: true,
- daily: 97.956923488686,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 1110.88200129562,
- hasRDI: true,
- daily: 264.49571459419525,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 14892.118226999999,
- hasRDI: true,
- daily: 316.85357929787233,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 76.5161055,
- hasRDI: true,
- daily: 425.089475,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 197.19327986295622,
- hasRDI: true,
- daily: 1792.6661805723293,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 8258.934868,
- hasRDI: true,
- daily: 1179.8478382857145,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 56.58200000000001,
- hasRDI: true,
- daily: 62.8688888888889,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 3.4661315900000003,
- hasRDI: true,
- daily: 288.8442991666667,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 6.431110388,
- hasRDI: true,
- daily: 494.70079907692303,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 192.784320208,
- hasRDI: true,
- daily: 1204.9020013,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 21.154889702,
- hasRDI: true,
- daily: 1627.2992078461539,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 498.353133,
- hasRDI: true,
- daily: 124.58828325,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 498.353133,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 62.595747059999994,
- hasRDI: true,
- daily: 2608.1561275,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 19.69947191,
- hasRDI: true,
- daily: 131.32981273333334,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 77.36570289999999,
- hasRDI: true,
- daily: 64.47141908333332,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 4242.647829612439,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/d61fd8290e964a2d1bb159a34ea942ae?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_fb3b9d088cb51202c3a0510ffd0f8556',
- label: 'Beef and Noodles recipes',
- image: 'https://www.edamam.com/web-img/cd3/cd3674a92bbb3797632a65e2df7bd7f7',
- source: 'Chez Us',
- url: 'http://www.chezus.com/2009/04/04/beef-and-noodles/',
- shareAs:
- 'http://www.edamam.com/recipe/beef-and-noodles-recipes-fb3b9d088cb51202c3a0510ffd0f8556/beef',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '1/2 yellow onion, thinly sliced',
- 'knob fresh ginger, minced',
- '1/2 stick of lemon grass, minced',
- 'zest from 1 lime',
- '2 tablespoons olive oil',
- '1/2 pound beef flank, thinly sliced',
- '3 cups of beef stock, preferabley homemade',
- '2 cups edamame',
- 'lime',
- ],
- ingredients: [
- {
- text: '1/2 yellow onion, thinly sliced',
- weight: 62.5,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: 'knob fresh ginger, minced',
- weight: 15,
- foodCategory: 'vegetables',
- foodId: 'food_bi2ki2xb5zmmvbaiwf7ztbgktzp6',
- image: 'https://www.edamam.com/food-img/b9c/b9c06ef451ef29513880af0a53ebbaa6.jpg',
- },
- {
- text: '1/2 stick of lemon grass, minced',
- weight: 10,
- foodCategory: 'vegetables',
- foodId: 'food_b3l1z8na3dy8qfaht3yubbrdu94h',
- image: 'https://www.edamam.com/food-img/a6e/a6ef38b461759334bbdc4d25ca678ad1.jpg',
- },
- {
- text: 'zest from 1 lime',
- weight: 67,
- foodCategory: 'fruit',
- foodId: 'food_av58muyb8kg92fbk0g8g8aui5knv',
- image: 'https://www.edamam.com/food-img/48a/48a123c9576647c4ada6a41df5eeb22a.jpg',
- },
- {
- text: '2 tablespoons olive oil',
- weight: 27,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '1/2 pound beef flank, thinly sliced',
- weight: 226.796185,
- foodCategory: 'meats',
- foodId: 'food_abhe6ejbfw25i1a4u0iiwbi0aw6s',
- image: 'https://www.edamam.com/food-img/f8d/f8dedaeb7292857a4d92019961fb91fb.jpg',
- },
- {
- text: '3 cups of beef stock, preferabley homemade',
- weight: 720,
- foodCategory: 'canned soup',
- foodId: 'food_bxd832fblxgfaibgn0zk0b6dg6dh',
- image: 'https://www.edamam.com/food-img/428/4284513ddbf46e51f0f33566c0d61715.jpg',
- },
- {
- text: '2 cups edamame',
- weight: 236,
- foodCategory: 'vegetables',
- foodId: 'food_bx3fkcubyl2t7ha8jfdm5anoirlx',
- image: 'https://www.edamam.com/food-img/325/325e012901331f9860df07f755adf197.jpg',
- },
- {
- text: 'lime',
- weight: 91.40784439500001,
- foodCategory: 'fruit',
- foodId: 'food_av58muyb8kg92fbk0g8g8aui5knv',
- image: 'https://www.edamam.com/food-img/48a/48a123c9576647c4ada6a41df5eeb22a.jpg',
- },
- ],
- calories: 1060.5160585685,
- totalWeight: 1455.7040293950001,
- totalTime: 75,
- cuisineType: ['asian'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1060.5160585685,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 58.15301942529,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 11.892202375316904,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 27.741503543435048,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 3.7748265341672504,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 56.618986799233,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 17.12591964306,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 15.3228925702755,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 88.75150536776499,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 154.2214058,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1570.9880967879,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 336.25455860035004,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 272.45963136369994,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3605.5934117829,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 12.57883793387,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 13.534633277334503,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1102.7150490411,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 3.1681568879000004,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 74.623682718945,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.8051282169185,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.5518731353789998,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 24.59071066649,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.18472158943985,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 790.3931697516,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 790.3931697516,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 2.6761949830000002,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.22679618500000004,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 6.794124668169001,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 95.24179747137,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1239.737843564027,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 53.025802928425,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 89.46618373121538,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 59.46101187658452,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 18.872995599744332,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 68.50367857224,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 177.50301073552998,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 51.40713526666667,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 65.45783736616251,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 33.625455860035004,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 64.87134080088094,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 76.71475344218936,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 69.88243296594445,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 123.04212070304094,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 157.5307212915857,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0.3520174319888889,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 82.91520302105,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 67.09401807654167,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 119.37485656761538,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 153.6919416655625,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 168.05550687998846,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 197.59829243790003,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 111.50812429166669,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.5119745666666669,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 45.29416445446,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 79.368164559475,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 58.15301942529,
- hasRDI: true,
- daily: 89.46618373121538,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 11.892202375316904,
- hasRDI: true,
- daily: 59.46101187658452,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 27.741503543435048,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 3.7748265341672504,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 56.618986799233,
- hasRDI: true,
- daily: 18.872995599744332,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 39.493067156173,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 17.12591964306,
- hasRDI: true,
- daily: 68.50367857224,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 15.3228925702755,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 88.75150536776499,
- hasRDI: true,
- daily: 177.50301073552998,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 154.2214058,
- hasRDI: true,
- daily: 51.40713526666667,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1570.9880967879,
- hasRDI: true,
- daily: 65.45783736616251,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 336.25455860035004,
- hasRDI: true,
- daily: 33.625455860035004,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 272.45963136369994,
- hasRDI: true,
- daily: 64.87134080088094,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3605.5934117829,
- hasRDI: true,
- daily: 76.71475344218936,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 12.57883793387,
- hasRDI: true,
- daily: 69.88243296594445,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 13.534633277334503,
- hasRDI: true,
- daily: 123.04212070304094,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1102.7150490411,
- hasRDI: true,
- daily: 157.5307212915857,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 3.1681568879000004,
- hasRDI: true,
- daily: 0.3520174319888889,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 74.623682718945,
- hasRDI: true,
- daily: 82.91520302105,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.8051282169185,
- hasRDI: true,
- daily: 67.09401807654167,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.5518731353789998,
- hasRDI: true,
- daily: 119.37485656761538,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 24.59071066649,
- hasRDI: true,
- daily: 153.6919416655625,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.18472158943985,
- hasRDI: true,
- daily: 168.05550687998846,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 790.3931697516,
- hasRDI: true,
- daily: 197.59829243790003,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 790.3931697516,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 2.6761949830000002,
- hasRDI: true,
- daily: 111.50812429166669,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.22679618500000004,
- hasRDI: true,
- daily: 1.5119745666666669,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 6.794124668169001,
- hasRDI: true,
- daily: 45.29416445446,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 95.24179747137,
- hasRDI: true,
- daily: 79.368164559475,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1239.737843564027,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/fb3b9d088cb51202c3a0510ffd0f8556?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_54197d5c51861eb539d4a8c2f59efbc8',
- label: 'Hachee - Dutch Beef Stew',
- image: 'https://www.edamam.com/web-img/bf3/bf3783ccb2c4c7e4a97ef81652f5be6b.jpg',
- source: 'Honest Cooking',
- url: 'http://honestcooking.com/hachee-dutch-beef-stew-recipe/',
- shareAs:
- 'http://www.edamam.com/recipe/hachee-dutch-beef-stew-54197d5c51861eb539d4a8c2f59efbc8/beef',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Gluten', 'Wheat', 'Sulfites'],
- ingredientLines: [
- '50 g butter',
- '600 g beef (suitable for stewing), cubed',
- '3 large onions, chopped',
- '2 tbsp flour',
- '1 beef stock cube',
- '3 tbsp red wine vinegar',
- '3 bay leaves',
- '4 cloves',
- 'Salt and pepper',
- ],
- ingredients: [
- {
- text: '50 g butter',
- weight: 50,
- foodCategory: 'Dairy',
- foodId: 'food_awz3iefajbk1fwahq9logahmgltj',
- image: 'https://www.edamam.com/food-img/713/71397239b670d88c04faa8d05035cab4.jpg',
- },
- {
- text: '600 g beef (suitable for stewing), cubed',
- weight: 600,
- foodCategory: 'meats',
- foodId: 'food_bknby1la98smrsbwnthinbam42nj',
- image: 'https://www.edamam.com/food-img/bab/bab88ab3ea40d34e4c8ae35d6b30344a.jpg',
- },
- {
- text: '3 large onions, chopped',
- weight: 450,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '2 tbsp flour',
- weight: 15.624999999735829,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '1 beef stock cube',
- weight: 3.6,
- foodCategory: 'canned soup',
- foodId: 'food_ap9dxwla8dska7bcd54orbisfahg',
- image: null,
- },
- {
- text: '3 tbsp red wine vinegar',
- weight: 44.7,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_ad6iyy1anmzb49a817rgnabnz8c9',
- image: 'https://www.edamam.com/food-img/dc8/dc8e998b32b8d45ba15c1b1e6711e958.jpg',
- },
- {
- text: '3 bay leaves',
- weight: 1.7999999999999998,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_asx39x4ayja4jab6ivj6zayvkblo',
- image: 'https://www.edamam.com/food-img/0f9/0f9f5f95df173e9ffaaff2977bef88f3.jpg',
- },
- {
- text: '4 cloves',
- weight: 0.6,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_abb00nxbw761ggavcuto7b3mw1s0',
- image: 'https://www.edamam.com/food-img/8bc/8bc63f9742815a245d37e5f346674ca4.jpg',
- },
- {
- text: 'Salt and pepper',
- weight: 6.997949999998414,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Salt and pepper',
- weight: 3.498974999999207,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- ],
- calories: 1406.0484272490362,
- totalWeight: 1173.3129010598577,
- totalTime: 210,
- cuisineType: ['central europe'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1406.0484272490362,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 70.5046715849974,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 38.01031648199959,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 3.140524,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 25.766449175249768,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 3.626067020498901,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 59.38396201229791,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 9.633915674992666,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 19.711220939999283,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 138.0060860024726,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 485.644,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2720.4022573823836,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 235.82755150438632,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 188.75763651054177,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3018.082241834516,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 15.155486428495237,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 33.52599172855827,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1481.2373804997135,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 360.5547232499998,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 34.361700000000006,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.720338892999682,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.1885861549998928,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 30.26455578424669,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 4.007423017249881,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 114.19932574993119,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 114.19932574993119,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 13.741000000000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.35,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 2.4286843399998332,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 20.92549707499791,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 888.6944801370886,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 70.30242136245181,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 108.46872551538061,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 190.05158240999793,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 19.794654004099304,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 38.535662699970665,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 276.0121720049452,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 161.88133333333334,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 113.35009405759932,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 23.582755150438633,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 44.94229440727185,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 64.21451578371311,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 84.19714682497354,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 304.78174298689333,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 211.60534007138764,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 40.061635916666646,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 38.17966666666667,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 60.02824108330683,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 91.42970423076099,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 189.15347365154182,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 308.2633090192216,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 28.549831437482798,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 572.5416666666667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 9,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 16.191228933332223,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 17.437914229164925,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 70.5046715849974,
- hasRDI: true,
- daily: 108.46872551538061,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 38.01031648199959,
- hasRDI: true,
- daily: 190.05158240999793,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 3.140524,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 25.766449175249768,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 3.626067020498901,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 59.38396201229791,
- hasRDI: true,
- daily: 19.794654004099304,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 49.75004633730524,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 9.633915674992666,
- hasRDI: true,
- daily: 38.535662699970665,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 19.711220939999283,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 138.0060860024726,
- hasRDI: true,
- daily: 276.0121720049452,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 485.644,
- hasRDI: true,
- daily: 161.88133333333334,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2720.4022573823836,
- hasRDI: true,
- daily: 113.35009405759932,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 235.82755150438632,
- hasRDI: true,
- daily: 23.582755150438633,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 188.75763651054177,
- hasRDI: true,
- daily: 44.94229440727185,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3018.082241834516,
- hasRDI: true,
- daily: 64.21451578371311,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 15.155486428495237,
- hasRDI: true,
- daily: 84.19714682497354,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 33.52599172855827,
- hasRDI: true,
- daily: 304.78174298689333,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1481.2373804997135,
- hasRDI: true,
- daily: 211.60534007138764,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 360.5547232499998,
- hasRDI: true,
- daily: 40.061635916666646,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 34.361700000000006,
- hasRDI: true,
- daily: 38.17966666666667,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.720338892999682,
- hasRDI: true,
- daily: 60.02824108330683,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.1885861549998928,
- hasRDI: true,
- daily: 91.42970423076099,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 30.26455578424669,
- hasRDI: true,
- daily: 189.15347365154182,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 4.007423017249881,
- hasRDI: true,
- daily: 308.2633090192216,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 114.19932574993119,
- hasRDI: true,
- daily: 28.549831437482798,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 114.19932574993119,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 13.741000000000001,
- hasRDI: true,
- daily: 572.5416666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.35,
- hasRDI: true,
- daily: 9,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 2.4286843399998332,
- hasRDI: true,
- daily: 16.191228933332223,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 20.92549707499791,
- hasRDI: true,
- daily: 17.437914229164925,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 888.6944801370886,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/54197d5c51861eb539d4a8c2f59efbc8?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_14c68e61108cc0829ee6ef279f79b860',
- label: 'Portabello Beef Stew',
- image: 'https://www.edamam.com/web-img/72f/72fd32d089fdc211a0b35a7e41ed47e2.JPG',
- source: 'Food52',
- url: 'https://food52.com/recipes/14484-portabello-beef-stew',
- shareAs:
- 'http://www.edamam.com/recipe/portabello-beef-stew-14c68e61108cc0829ee6ef279f79b860/beef',
- yield: 3,
- dietLabels: [],
- healthLabels: [
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat', 'Sulfites'],
- ingredientLines: [
- '1 pound beef stew meat',
- '2 tablespoons flour',
- '1 onion, sliced',
- '1 teaspoon dried thyme',
- '1/2 cup red wine',
- '15 ounces beef broth (1 can)',
- '2 carrots, sliced',
- '10 ounces baby portabello mushrooms',
- ],
- ingredients: [
- {
- text: '1 pound beef stew meat',
- weight: 453.59237,
- foodCategory: 'meats',
- foodId: 'food_bknby1la98smrsbwnthinbam42nj',
- image: 'https://www.edamam.com/food-img/bab/bab88ab3ea40d34e4c8ae35d6b30344a.jpg',
- },
- {
- text: '2 tablespoons flour',
- weight: 15.624999999735829,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '1 onion, sliced',
- weight: 125,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1 teaspoon dried thyme',
- weight: 1,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_avsq22zadwyb5cb5sl1byaa4mbo8',
- image: 'https://www.edamam.com/food-img/89b/89b37a04e46e052671d73addcb84aa51.jpg',
- },
- {
- text: '1/2 cup red wine',
- weight: 117.6,
- foodCategory: 'wines',
- foodId: 'food_b5q0xv2ba8la5hbzdfzdgaca3fwu',
- image: 'https://www.edamam.com/food-img/82b/82b8d0db2d5c38fc7498a657c0afc4ee.JPG',
- },
- {
- text: '15 ounces beef broth (1 can)',
- weight: 450.00000000000006,
- foodCategory: 'canned soup',
- foodId: 'food_a4blma9bmbzb9aa6dt0qmbzeb1o1',
- image: 'https://www.edamam.com/food-img/6f7/6f71425571cb38887c2287f9860d33bd.jpg',
- },
- {
- text: '2 carrots, sliced',
- weight: 122,
- foodCategory: 'vegetables',
- foodId: 'food_ai215e5b85pdh5ajd4aafa3w2zm8',
- image: 'https://www.edamam.com/food-img/121/121e33fce0bb9546ed7d060b6c114e29.jpg',
- },
- {
- text: '10 ounces baby portabello mushrooms',
- weight: 283.49523125,
- foodCategory: 'vegetables',
- foodId: 'food_bikaydza0r1y3ja1c2nxxbqnynlg',
- image: 'https://www.edamam.com/food-img/245/2457f8850f43817dfeb967825467ef1e.jpg',
- },
- ],
- calories: 943.1540318740385,
- totalWeight: 1568.312601249736,
- totalTime: 195,
- cuisineType: ['chinese'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 943.1540318740385,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 24.445251306372416,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 9.831672204349593,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.1453207342500002,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 11.898491283249768,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 2.0232470175614092,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 50.69037379317341,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 10.018313006242867,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 18.958588281249288,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 113.56622074734773,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 285.7631931,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2152.599043112495,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 194.13361503746037,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 151.14389769994187,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3713.9329318497175,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 13.712188249871911,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 26.882986942623152,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1473.8532926497148,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1029.6718474,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 16.948,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.7069160824371831,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.3853568296248948,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 40.269731314271695,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.4387446038498837,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 156.8949358499313,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 156.8949358499313,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 10.753294414625001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.30407806375,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.7875403122498417,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 41.07016054999921,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1352.9072156302186,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 47.15770159370192,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 37.60807893288064,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 49.158361021747965,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 16.896791264391133,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 40.07325202497147,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 227.13244149469546,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 95.25439770000001,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 89.69162679635396,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 19.413361503746035,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 35.986642309509975,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 79.01984961382377,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 76.1788236103995,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 244.3907903874832,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 210.5504703785307,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 114.40798304444444,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 18.83111111111111,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 58.909673536431924,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 106.56590997114576,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 251.6858207141981,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 264.51881568076027,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 39.223733962482825,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 448.05393394270845,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 8.693853758333335,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 11.916935414998944,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 34.22513379166601,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 24.445251306372416,
- hasRDI: true,
- daily: 37.60807893288064,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 9.831672204349593,
- hasRDI: true,
- daily: 49.158361021747965,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.1453207342500002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 11.898491283249768,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 2.0232470175614092,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 50.69037379317341,
- hasRDI: true,
- daily: 16.896791264391133,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 40.672060786930544,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 10.018313006242867,
- hasRDI: true,
- daily: 40.07325202497147,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 18.958588281249288,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 113.56622074734773,
- hasRDI: true,
- daily: 227.13244149469546,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 285.7631931,
- hasRDI: true,
- daily: 95.25439770000001,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2152.599043112495,
- hasRDI: true,
- daily: 89.69162679635396,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 194.13361503746037,
- hasRDI: true,
- daily: 19.413361503746035,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 151.14389769994187,
- hasRDI: true,
- daily: 35.986642309509975,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3713.9329318497175,
- hasRDI: true,
- daily: 79.01984961382377,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 13.712188249871911,
- hasRDI: true,
- daily: 76.1788236103995,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 26.882986942623152,
- hasRDI: true,
- daily: 244.3907903874832,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1473.8532926497148,
- hasRDI: true,
- daily: 210.5504703785307,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1029.6718474,
- hasRDI: true,
- daily: 114.40798304444444,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 16.948,
- hasRDI: true,
- daily: 18.83111111111111,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.7069160824371831,
- hasRDI: true,
- daily: 58.909673536431924,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.3853568296248948,
- hasRDI: true,
- daily: 106.56590997114576,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 40.269731314271695,
- hasRDI: true,
- daily: 251.6858207141981,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.4387446038498837,
- hasRDI: true,
- daily: 264.51881568076027,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 156.8949358499313,
- hasRDI: true,
- daily: 39.223733962482825,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 156.8949358499313,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 10.753294414625001,
- hasRDI: true,
- daily: 448.05393394270845,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.30407806375,
- hasRDI: true,
- daily: 8.693853758333335,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 1.7875403122498417,
- hasRDI: true,
- daily: 11.916935414998944,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 41.07016054999921,
- hasRDI: true,
- daily: 34.22513379166601,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1352.9072156302186,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/14c68e61108cc0829ee6ef279f79b860?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_7b4793955f7d5f6c61e2e16b95c5d714',
- label: 'Beef Goulash',
- image: 'https://www.edamam.com/web-img/229/2292adfebf71a994fc515cd5895012fe.jpg',
- source: 'Martha Stewart',
- url: 'http://www.marthastewart.com/350032/beef-goulash',
- shareAs: 'http://www.edamam.com/recipe/beef-goulash-7b4793955f7d5f6c61e2e16b95c5d714/beef',
- yield: 8,
- dietLabels: [],
- healthLabels: [
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1/4 cup unsalted butter',
- '1/4 cup olive oil',
- '5 pounds beef chuck, well trimmed, cut into 1-inch cubes',
- 'Salt and freshly ground black pepper',
- '5 pounds yellow onions, chopped',
- '1/4 cup hungarian paprika',
- '3 cups homemade beef stock',
- 'Sour cream, for garnish',
- '2 pounds broad egg noodles, cooked',
- 'Chopped chives, for garnish',
- ],
- ingredients: [
- {
- text: '1/4 cup unsalted butter',
- weight: 56.75,
- foodCategory: 'Dairy',
- foodId: 'food_awz3iefajbk1fwahq9logahmgltj',
- image: 'https://www.edamam.com/food-img/713/71397239b670d88c04faa8d05035cab4.jpg',
- },
- {
- text: '1/4 cup olive oil',
- weight: 54,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '5 pounds beef chuck, well trimmed, cut into 1-inch cubes',
- weight: 2267.96185,
- foodCategory: 'meats',
- foodId: 'food_bknby1la98smrsbwnthinbam42nj',
- image: 'https://www.edamam.com/food-img/bab/bab88ab3ea40d34e4c8ae35d6b30344a.jpg',
- },
- {
- text: 'Salt and freshly ground black pepper',
- weight: 37.80635064000276,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Salt and freshly ground black pepper',
- weight: 18.90317532000138,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '5 pounds yellow onions, chopped',
- weight: 2267.96185,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1/4 cup hungarian paprika',
- weight: 27.200000000459866,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a9dpcnjb883g67b3lq82ca0421ql',
- image: 'https://www.edamam.com/food-img/474/474d63763b9d8b9da98c5f43a114648c.jpg',
- },
- {
- text: '3 cups homemade beef stock',
- weight: 720,
- foodCategory: 'canned soup',
- foodId: 'food_bxd832fblxgfaibgn0zk0b6dg6dh',
- image: 'https://www.edamam.com/food-img/428/4284513ddbf46e51f0f33566c0d61715.jpg',
- },
- {
- text: 'Sour cream, for garnish',
- weight: 0,
- foodCategory: 'Dairy',
- foodId: 'food_adp9fcubzl3lr7bcvzn3rbfiiiwq',
- image: 'https://www.edamam.com/food-img/f9d/f9d6183267b041b0aff9a10b89c9c15f.jpg',
- },
- {
- text: '2 pounds broad egg noodles, cooked',
- weight: 907.18474,
- foodCategory: 'grains',
- foodId: 'food_aefg3gqa71nrtpbhjfo3yb36kd81',
- image: 'https://www.edamam.com/food-img/800/800c9c0d7cef6b5474723682ffa2878d.jpg',
- },
- {
- text: 'Chopped chives, for garnish',
- weight: 0,
- foodCategory: 'vegetables',
- foodId: 'food_btg1uzjak79lawbirsitkaeai60l',
- image: 'https://www.edamam.com/food-img/f3f/f3f48643a924ba174b894e979cb48620.jpg',
- },
- ],
- calories: 8441.133016654501,
- totalWeight: 6348.778448158149,
- totalTime: 218,
- cuisineType: ['central europe'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 8441.133016654501,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 256.43617780649134,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 94.44927768746427,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 8.0835523164,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 120.81732238592262,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 29.237192328629334,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 896.5476658253892,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 82.76775122612085,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 120.07216587409556,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 664.6683787898131,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 2312.8636471,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 14696.944337195426,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 1358.6860315497042,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 1361.798920826398,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 16204.101313740319,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 98.47965449603372,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 146.67681785716562,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 8117.596391407045,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1262.790500147727,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 168.07397690000417,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 13.486647964547121,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 9.375572552481659,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 198.80633379325388,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 18.59815930659105,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 3888.179184804626,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 794.6792214046255,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 1823.4413274000003,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 54.210044741000004,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 5.840766070000001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 25.141900261461835,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 137.61379684921155,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 4448.967358839599,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 422.05665083272504,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 394.5171966253713,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 472.24638843732134,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 298.84922194179643,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 331.0710049044834,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 1329.3367575796262,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 770.9545490333334,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 612.3726807164761,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 135.86860315497043,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 324.23783829199954,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 344.7681130583046,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 547.1091916446317,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1333.4256168833238,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1159.6566273438636,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 140.31005557196966,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 186.74886322222684,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1123.887330378927,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 721.1978886524353,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 1242.5395862078367,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1430.6276389685424,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 972.0447962011564,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 2258.7518642083337,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 38.93844046666667,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 167.61266840974557,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 114.67816404100964,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 256.43617780649134,
- hasRDI: true,
- daily: 394.5171966253713,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 94.44927768746427,
- hasRDI: true,
- daily: 472.24638843732134,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 8.0835523164,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 120.81732238592262,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 29.237192328629334,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 896.5476658253892,
- hasRDI: true,
- daily: 298.84922194179643,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 813.7799145992684,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 82.76775122612085,
- hasRDI: true,
- daily: 331.0710049044834,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 120.07216587409556,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 664.6683787898131,
- hasRDI: true,
- daily: 1329.3367575796262,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 2312.8636471,
- hasRDI: true,
- daily: 770.9545490333334,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 14696.944337195426,
- hasRDI: true,
- daily: 612.3726807164761,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 1358.6860315497042,
- hasRDI: true,
- daily: 135.86860315497043,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 1361.798920826398,
- hasRDI: true,
- daily: 324.23783829199954,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 16204.101313740319,
- hasRDI: true,
- daily: 344.7681130583046,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 98.47965449603372,
- hasRDI: true,
- daily: 547.1091916446317,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 146.67681785716562,
- hasRDI: true,
- daily: 1333.4256168833238,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 8117.596391407045,
- hasRDI: true,
- daily: 1159.6566273438636,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1262.790500147727,
- hasRDI: true,
- daily: 140.31005557196966,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 168.07397690000417,
- hasRDI: true,
- daily: 186.74886322222684,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 13.486647964547121,
- hasRDI: true,
- daily: 1123.887330378927,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 9.375572552481659,
- hasRDI: true,
- daily: 721.1978886524353,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 198.80633379325388,
- hasRDI: true,
- daily: 1242.5395862078367,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 18.59815930659105,
- hasRDI: true,
- daily: 1430.6276389685424,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 3888.179184804626,
- hasRDI: true,
- daily: 972.0447962011564,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 794.6792214046255,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 1823.4413274000003,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 54.210044741000004,
- hasRDI: true,
- daily: 2258.7518642083337,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 5.840766070000001,
- hasRDI: true,
- daily: 38.93844046666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 25.141900261461835,
- hasRDI: true,
- daily: 167.61266840974557,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 137.61379684921155,
- hasRDI: true,
- daily: 114.67816404100964,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 4448.967358839599,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/7b4793955f7d5f6c61e2e16b95c5d714?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_535e5146345790b3965f98ace4ec873f',
- label: 'Beef stew',
- image: 'https://www.edamam.com/web-img/501/501a9b12d18f5cbcaad0d00263ec2f7b.jpg',
- source: 'Jamie Oliver',
- url: 'http://www.jamieoliver.com/recipes/beef-recipes/beef-stew/',
- shareAs: 'http://www.edamam.com/recipe/beef-stew-535e5146345790b3965f98ace4ec873f/beef',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '800 g lean stewing beef',
- '2 tablespoons plain flour',
- 'olive oil',
- '2 cloves of garlic',
- '1 handful of shallots',
- '2 sticks of celery',
- '4 carrots',
- '1 small bunch of thyme , (15g)',
- '4 ripe vine tomatoes',
- '150 ml red wine',
- '500 ml organic beef stock',
- '2 bay leaves',
- 'Worcestershire sauce',
- ],
- ingredients: [
- {
- text: '800 g lean stewing beef',
- weight: 800,
- foodCategory: 'meats',
- foodId: 'food_bknby1la98smrsbwnthinbam42nj',
- image: 'https://www.edamam.com/food-img/bab/bab88ab3ea40d34e4c8ae35d6b30344a.jpg',
- },
- {
- text: '2 tablespoons plain flour',
- weight: 15.624999999735829,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: 'olive oil',
- weight: 31.690110456742705,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '2 cloves of garlic',
- weight: 6,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '1 handful of shallots',
- weight: 20.00000000033814,
- foodCategory: 'vegetables',
- foodId: 'food_bu2ver7a5f52dfap8q9f0bn085qb',
- image: 'https://www.edamam.com/food-img/d23/d23e3be21df05e9e16c05eadb12341e7.jpeg',
- },
- {
- text: '2 sticks of celery',
- weight: 80,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- {
- text: '4 carrots',
- weight: 244,
- foodCategory: 'vegetables',
- foodId: 'food_ai215e5b85pdh5ajd4aafa3w2zm8',
- image: 'https://www.edamam.com/food-img/121/121e33fce0bb9546ed7d060b6c114e29.jpg',
- },
- {
- text: '1 small bunch of thyme , (15g)',
- weight: 15,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b3o3cj7a5gskecb0ufphtadnbfqb',
- image: 'https://www.edamam.com/food-img/3e7/3e7cf3c8d767a90b906447f5e74059f7.jpg',
- },
- {
- text: '4 ripe vine tomatoes',
- weight: 492,
- foodCategory: 'vegetables',
- foodId: 'food_a6k79rrahp8fe2b26zussa3wtkqh',
- image: 'https://www.edamam.com/food-img/23e/23e727a14f1035bdc2733bb0477efbd2.jpg',
- },
- {
- text: '150 ml red wine',
- weight: 149.11984011512763,
- foodCategory: 'wines',
- foodId: 'food_b5q0xv2ba8la5hbzdfzdgaca3fwu',
- image: 'https://www.edamam.com/food-img/82b/82b8d0db2d5c38fc7498a657c0afc4ee.JPG',
- },
- {
- text: '500 ml organic beef stock',
- weight: 507.21034052764503,
- foodCategory: 'canned soup',
- foodId: 'food_bxd832fblxgfaibgn0zk0b6dg6dh',
- image: 'https://www.edamam.com/food-img/428/4284513ddbf46e51f0f33566c0d61715.jpg',
- },
- {
- text: '2 bay leaves',
- weight: 1.2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_asx39x4ayja4jab6ivj6zayvkblo',
- image: 'https://www.edamam.com/food-img/0f9/0f9f5f95df173e9ffaaff2977bef88f3.jpg',
- },
- {
- text: 'Worcestershire sauce',
- weight: 0,
- foodCategory: 'canned soup',
- foodId: 'food_ahb8mscbejo58ubexo0itam1i74g',
- image: 'https://www.edamam.com/food-img/072/072b61dd1ad5bb641f05b14f716ba6d0.jpg',
- },
- ],
- calories: 1813.3507848033398,
- totalWeight: 2361.845291099589,
- totalTime: 0,
- cuisineType: ['french'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1813.3507848033398,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 72.8876447632153,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 20.849302821051356,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 2,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 43.68068568677076,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 6.7917020903884575,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 77.66272941319178,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 17.619475000003685,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 30.91686634758897,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 193.78821009645634,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 504,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1905.1935700585125,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 409.90506555607465,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 348.17660465076335,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 6472.15497802777,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 24.831596302512956,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 46.45190035505769,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2205.523768789967,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 2317.048,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 112.32500000002706,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.2247734043797651,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.2409405603158086,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 50.00487511125632,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 5.920538996156877,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 204.54790521175045,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 204.54790521175045,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 18.16,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.8,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 10.543626884595321,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 127.00601119594918,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1981.876825247771,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 90.667539240167,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 112.13483809725432,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 104.24651410525678,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 25.887576471063927,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 70.47790000001474,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 387.5764201929127,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 168,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 79.3830654191047,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 40.99050655560746,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 82.89919158351508,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 137.70542506442064,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 137.95331279173865,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 422.2900032277972,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 315.0748241128524,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 257.44977777777774,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 124.80555555558563,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 102.06445036498043,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 172.38004310121605,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 312.53046944535197,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 455.42607662745206,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 51.13697630293761,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 756.6666666666667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 5.333333333333333,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 70.29084589730215,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 105.83834266329099,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 72.8876447632153,
- hasRDI: true,
- daily: 112.13483809725432,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 20.849302821051356,
- hasRDI: true,
- daily: 104.24651410525678,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 2,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 43.68068568677076,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 6.7917020903884575,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 77.66272941319178,
- hasRDI: true,
- daily: 25.887576471063927,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 60.043254413188095,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 17.619475000003685,
- hasRDI: true,
- daily: 70.47790000001474,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 30.91686634758897,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 193.78821009645634,
- hasRDI: true,
- daily: 387.5764201929127,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 504,
- hasRDI: true,
- daily: 168,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1905.1935700585125,
- hasRDI: true,
- daily: 79.3830654191047,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 409.90506555607465,
- hasRDI: true,
- daily: 40.99050655560746,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 348.17660465076335,
- hasRDI: true,
- daily: 82.89919158351508,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 6472.15497802777,
- hasRDI: true,
- daily: 137.70542506442064,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 24.831596302512956,
- hasRDI: true,
- daily: 137.95331279173865,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 46.45190035505769,
- hasRDI: true,
- daily: 422.2900032277972,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2205.523768789967,
- hasRDI: true,
- daily: 315.0748241128524,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 2317.048,
- hasRDI: true,
- daily: 257.44977777777774,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 112.32500000002706,
- hasRDI: true,
- daily: 124.80555555558563,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.2247734043797651,
- hasRDI: true,
- daily: 102.06445036498043,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.2409405603158086,
- hasRDI: true,
- daily: 172.38004310121605,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 50.00487511125632,
- hasRDI: true,
- daily: 312.53046944535197,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 5.920538996156877,
- hasRDI: true,
- daily: 455.42607662745206,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 204.54790521175045,
- hasRDI: true,
- daily: 51.13697630293761,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 204.54790521175045,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 18.16,
- hasRDI: true,
- daily: 756.6666666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.8,
- hasRDI: true,
- daily: 5.333333333333333,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 10.543626884595321,
- hasRDI: true,
- daily: 70.29084589730215,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 127.00601119594918,
- hasRDI: true,
- daily: 105.83834266329099,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1981.876825247771,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/535e5146345790b3965f98ace4ec873f?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_d36094487933c7d2c124c6d3742e49f6',
- label: 'Quick Beef Stroganoff',
- image: 'https://www.edamam.com/web-img/552/5524f65e427c421bb0127a322da13570.jpg',
- source: 'Food & Wine',
- url: 'http://www.foodandwine.com/recipes/quick-beef-stroganoff',
- shareAs:
- 'http://www.edamam.com/recipe/quick-beef-stroganoff-d36094487933c7d2c124c6d3742e49f6/beef',
- yield: 8,
- dietLabels: ['Balanced'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '2 tablespoons extra-virgin olive oil',
- '1 onion, thinly sliced',
- '8 ounces cremini mushrooms, thinly sliced',
- '1 teaspoon chopped thyme',
- 'Kosher salt and freshly ground pepper',
- 'Coriander-Dusted Roast Beef',
- '1/4 cup sour cream',
- 'Half of the Coriander-Dusted Roast Beef or 12 ounces roast beef, sliced 1/4 inch thick and cut into strips',
- 'Buttered noodles, for serving',
- ],
- ingredients: [
- {
- text: '2 tablespoons extra-virgin olive oil',
- weight: 27,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '1 onion, thinly sliced',
- weight: 125,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '8 ounces cremini mushrooms, thinly sliced',
- weight: 226.796185,
- foodCategory: 'vegetables',
- foodId: 'food_bizlqkfby3d954bfyuxhsbhybslp',
- image: 'https://www.edamam.com/food-img/17a/17a9ef54308a434004be9ba16c0eea03.jpg',
- },
- {
- text: '1 teaspoon chopped thyme',
- weight: 0.8,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b3o3cj7a5gskecb0ufphtadnbfqb',
- image: 'https://www.edamam.com/food-img/3e7/3e7cf3c8d767a90b906447f5e74059f7.jpg',
- },
- {
- text: 'Kosher salt and freshly ground pepper',
- weight: 4.842577110000001,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Kosher salt and freshly ground pepper',
- weight: 2.4212885550000003,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: 'Coriander-Dusted Roast Beef',
- weight: 4.035480925000001,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_afpcy6rb44nx6gbfff63ga2cqksw',
- image: 'https://www.edamam.com/food-img/a90/a901cee0b9028841d258f5d07b5924e7.jpg',
- },
- {
- text: '1/4 cup sour cream',
- weight: 57.5,
- foodCategory: 'Dairy',
- foodId: 'food_adp9fcubzl3lr7bcvzn3rbfiiiwq',
- image: 'https://www.edamam.com/food-img/f9d/f9d6183267b041b0aff9a10b89c9c15f.jpg',
- },
- {
- text: 'Half of the Coriander-Dusted Roast Beef or 12 ounces roast beef, sliced 1/4 inch thick and cut into strips',
- weight: 170,
- foodCategory: 'meats',
- foodId: 'food_a94xddzbba3iwnax9cx3nan3xvea',
- image: 'https://www.edamam.com/food-img/634/634aa9adfb65afb5fef3df13d7334985.jpg',
- },
- {
- text: 'Buttered noodles, for serving',
- weight: 200,
- foodCategory: 'grains',
- foodId: 'food_aefg3gqa71nrtpbhjfo3yb36kd81',
- image: 'https://www.edamam.com/food-img/800/800c9c0d7cef6b5474723682ffa2878d.jpg',
- },
- ],
- calories: 1573.06132812955,
- totalWeight: 817.9692289973884,
- totalTime: 0,
- cuisineType: ['eastern europe'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1573.06132812955,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 69.0410251522655,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 20.9991280637431,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.122,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 34.63161555573645,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 6.990555773666401,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 169.58636094658,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 12.50122962199,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 14.632390628752002,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 72.557395496287,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 325.4,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1891.9011245841507,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 273.9310872410732,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 210.84330987672388,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2398.7256789770913,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 13.614506051557882,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 13.463135246796888,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1212.60917490015,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 137.75774790985002,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 11.89575099425,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 2.70660016680015,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.3588805205814998,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 36.42795310188615,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.91278075319505,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 843.94566530435,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 161.94566530435003,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 402,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 3.959796185,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.056796185,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 5.552361019472,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 25.132649364535002,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 495.0795943349427,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 78.6530664064775,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 106.21696177271616,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 104.9956403187155,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 56.52878698219333,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 50.00491848796,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 145.114790992574,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 108.46666666666665,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 78.82921352433961,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 27.39310872410732,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 50.200788065886634,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 51.03671657398067,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 75.63614473087712,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 122.39213860724443,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 173.22988212859286,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 15.30641643442778,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 13.217501104722222,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 225.55001390001252,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 181.45234773703845,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 227.67470688678847,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 147.13698101500384,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 210.9864163260875,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 164.99150770833336,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 7.0453079,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 37.01574012981334,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 20.943874470445834,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 69.0410251522655,
- hasRDI: true,
- daily: 106.21696177271616,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 20.9991280637431,
- hasRDI: true,
- daily: 104.9956403187155,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.122,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 34.63161555573645,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 6.990555773666401,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 169.58636094658,
- hasRDI: true,
- daily: 56.52878698219333,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 157.08513132458998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 12.50122962199,
- hasRDI: true,
- daily: 50.00491848796,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 14.632390628752002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 72.557395496287,
- hasRDI: true,
- daily: 145.114790992574,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 325.4,
- hasRDI: true,
- daily: 108.46666666666665,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1891.9011245841507,
- hasRDI: true,
- daily: 78.82921352433961,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 273.9310872410732,
- hasRDI: true,
- daily: 27.39310872410732,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 210.84330987672388,
- hasRDI: true,
- daily: 50.200788065886634,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2398.7256789770913,
- hasRDI: true,
- daily: 51.03671657398067,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 13.614506051557882,
- hasRDI: true,
- daily: 75.63614473087712,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 13.463135246796888,
- hasRDI: true,
- daily: 122.39213860724443,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1212.60917490015,
- hasRDI: true,
- daily: 173.22988212859286,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 137.75774790985002,
- hasRDI: true,
- daily: 15.30641643442778,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 11.89575099425,
- hasRDI: true,
- daily: 13.217501104722222,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 2.70660016680015,
- hasRDI: true,
- daily: 225.55001390001252,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.3588805205814998,
- hasRDI: true,
- daily: 181.45234773703845,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 36.42795310188615,
- hasRDI: true,
- daily: 227.67470688678847,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.91278075319505,
- hasRDI: true,
- daily: 147.13698101500384,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 843.94566530435,
- hasRDI: true,
- daily: 210.9864163260875,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 161.94566530435003,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 402,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 3.959796185,
- hasRDI: true,
- daily: 164.99150770833336,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.056796185,
- hasRDI: true,
- daily: 7.0453079,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 5.552361019472,
- hasRDI: true,
- daily: 37.01574012981334,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 25.132649364535002,
- hasRDI: true,
- daily: 20.943874470445834,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 495.0795943349427,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/d36094487933c7d2c124c6d3742e49f6?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_cdccdf512c73703a2fa3236044e29ff0',
- label: 'Beef Jerky',
- image: 'https://www.edamam.com/web-img/346/3464d06a3fa4f31b0d898b714dbfd5c4.jpg',
- source: 'The Daily Meal',
- url: 'https://www.thedailymeal.com/recipes/beef-jerky',
- shareAs: 'http://www.edamam.com/recipe/beef-jerky-cdccdf512c73703a2fa3236044e29ff0/beef',
- yield: 4,
- dietLabels: ['High-Protein', 'Low-Carb', 'Low-Sodium'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Paleo',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- 'Immuno-Supportive',
- ],
- cautions: ['FODMAP'],
- ingredientLines: ['1 Pound beef', '1 Cup seasoning'],
- ingredients: [
- {
- text: '1 Pound beef',
- weight: 453.59237,
- foodCategory: 'meats',
- foodId: 'food_bknby1la98smrsbwnthinbam42nj',
- image: 'https://www.edamam.com/food-img/bab/bab88ab3ea40d34e4c8ae35d6b30344a.jpg',
- },
- {
- text: '1 Cup seasoning',
- weight: 70.40000000119026,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_aj7w3xab0epj7cbgkbkpwadysovd',
- image: 'https://www.edamam.com/food-img/c23/c23e20823b442067307aa436969358f1.jpg',
- },
- ],
- calories: 805.7980810036543,
- totalWeight: 523.9923700011902,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['starter'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 805.7980810036543,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 27.11891299708963,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 11.33357631563916,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.1339809250000001,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 12.234192487014354,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 2.769080347023044,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 46.7196708447807,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 7.955200000134501,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 1.2672000000214247,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 104.90874886811416,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 285.7631931,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 377.3459723003214,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 760.151008111855,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 252.95039770266624,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2173.4355401081416,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 34.33128053342016,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 26.74990721703738,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1104.6794429020356,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 101.99984740157115,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 8.448000000142832,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.5487298960031424,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.9055710290022736,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 24.25793912193535,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.505684661615712,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 110.75977110164257,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 110.75977110164257,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 10.296546799000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.4535923700000001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.7457462660157117,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 573.8054855595864,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 334.59224198411084,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 40.28990405018271,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 41.72140461090712,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 56.6678815781958,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 15.573223614926901,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 31.820800000538,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 209.81749773622832,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 95.25439770000001,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 15.722748845846727,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 76.0151008111855,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 60.226285167301484,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 46.24330936400302,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 190.72933629677868,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 243.18097470033982,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 157.8113489860051,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 11.33331637795235,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 9.38666666682537,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 45.7274913335952,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 69.65930992325181,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 151.61211951209594,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 269.6680508935163,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 27.689942775410643,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 429.02278329166677,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 3.0239491333333337,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 11.638308440104744,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 478.171237966322,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 27.11891299708963,
- hasRDI: true,
- daily: 41.72140461090712,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 11.33357631563916,
- hasRDI: true,
- daily: 56.6678815781958,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.1339809250000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 12.234192487014354,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 2.769080347023044,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 46.7196708447807,
- hasRDI: true,
- daily: 15.573223614926901,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 38.7644708446462,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 7.955200000134501,
- hasRDI: true,
- daily: 31.820800000538,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 1.2672000000214247,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 104.90874886811416,
- hasRDI: true,
- daily: 209.81749773622832,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 285.7631931,
- hasRDI: true,
- daily: 95.25439770000001,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 377.3459723003214,
- hasRDI: true,
- daily: 15.722748845846727,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 760.151008111855,
- hasRDI: true,
- daily: 76.0151008111855,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 252.95039770266624,
- hasRDI: true,
- daily: 60.226285167301484,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2173.4355401081416,
- hasRDI: true,
- daily: 46.24330936400302,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 34.33128053342016,
- hasRDI: true,
- daily: 190.72933629677868,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 26.74990721703738,
- hasRDI: true,
- daily: 243.18097470033982,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1104.6794429020356,
- hasRDI: true,
- daily: 157.8113489860051,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 101.99984740157115,
- hasRDI: true,
- daily: 11.33331637795235,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 8.448000000142832,
- hasRDI: true,
- daily: 9.38666666682537,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.5487298960031424,
- hasRDI: true,
- daily: 45.7274913335952,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.9055710290022736,
- hasRDI: true,
- daily: 69.65930992325181,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 24.25793912193535,
- hasRDI: true,
- daily: 151.61211951209594,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.505684661615712,
- hasRDI: true,
- daily: 269.6680508935163,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 110.75977110164257,
- hasRDI: true,
- daily: 27.689942775410643,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 110.75977110164257,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 10.296546799000001,
- hasRDI: true,
- daily: 429.02278329166677,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.4535923700000001,
- hasRDI: true,
- daily: 3.0239491333333337,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 1.7457462660157117,
- hasRDI: true,
- daily: 11.638308440104744,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 573.8054855595864,
- hasRDI: true,
- daily: 478.171237966322,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 334.59224198411084,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/cdccdf512c73703a2fa3236044e29ff0?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_552d62b578c9e13d3a3ef6bc7132ce88',
- label: 'Minced beef pie',
- image: 'https://www.edamam.com/web-img/1df/1df187d15010ccca062e88102dcf7af1.jpg',
- source: 'BBC',
- url: 'http://www.bbc.co.uk/food/recipes/mincedbeefpie_89198',
- shareAs:
- 'http://www.edamam.com/recipe/minced-beef-pie-552d62b578c9e13d3a3ef6bc7132ce88/beef',
- yield: 4,
- dietLabels: [],
- healthLabels: [
- 'Sugar-Conscious',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '2 tbsp vegetable oil',
- '500g/1lb 2oz beef mince',
- '1 onion, chopped',
- '1 tbsp tomato purée 1½ tbsp plain flour, plus extra for dusting',
- '75g/2½oz mushrooms, chopped',
- '250ml/9fl oz stout or beef stock',
- 'Dash worcestershire sauce',
- '400g/14oz ready-made shortcrust pastry',
- '1 free-range egg, yolk only, lightly beaten',
- ],
- ingredients: [
- {
- text: '2 tbsp vegetable oil',
- weight: 28,
- foodCategory: 'Oils',
- foodId: 'food_bt1mzi2ah2sfg8bv7no1qai83w8s',
- image: 'https://www.edamam.com/food-img/6e5/6e51a63a6300a8ea1b4c4cc68dfaba33.jpg',
- },
- {
- text: '500g/1lb 2oz beef mince',
- weight: 500,
- foodCategory: 'meats',
- foodId: 'food_boq91pbbhklr6sb0d9sbybzgklkm',
- image: 'https://www.edamam.com/food-img/cfa/cfae8f9276eaf8f0d9349ba662744a0c.jpg',
- },
- {
- text: '1 onion, chopped',
- weight: 125,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1 tbsp tomato purée 1½ tbsp plain flour, plus extra for dusting',
- weight: 7.8124999998679145,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '75g/2½oz mushrooms, chopped',
- weight: 75,
- foodCategory: 'vegetables',
- foodId: 'food_bvlose6arfl26ra396sjrb7hetqh',
- image: 'https://www.edamam.com/food-img/d63/d639cf4a2afc7407c1d1ce286028136b.jpg',
- },
- {
- text: '250ml/9fl oz stout or beef stock',
- weight: 253.60517026382252,
- foodCategory: 'canned soup',
- foodId: 'food_bxd832fblxgfaibgn0zk0b6dg6dh',
- image: 'https://www.edamam.com/food-img/428/4284513ddbf46e51f0f33566c0d61715.jpg',
- },
- {
- text: 'Dash worcestershire sauce',
- weight: 0.7161458330790678,
- foodCategory: 'canned soup',
- foodId: 'food_ahb8mscbejo58ubexo0itam1i74g',
- image: 'https://www.edamam.com/food-img/072/072b61dd1ad5bb641f05b14f716ba6d0.jpg',
- },
- {
- text: '400g/14oz ready-made shortcrust pastry',
- weight: 400,
- foodCategory: 'quick breads and pastries',
- foodId: 'food_bdy019nbzjeni3atliworbbgahrk',
- image: 'https://www.edamam.com/food-img/bc7/bc7dc9b99ce87d5a6dc136e30d6aadd1.jpg',
- },
- {
- text: '1 free-range egg, yolk only, lightly beaten',
- weight: 43,
- foodCategory: 'Eggs',
- foodId: 'food_bhpradua77pk16aipcvzeayg732r',
- image: 'https://www.edamam.com/food-img/a7e/a7ec7c337cb47c6550b3b118e357f077.jpg',
- },
- ],
- calories: 3911.4747658836177,
- totalWeight: 1433.1338160967694,
- totalTime: 60,
- cuisineType: ['british'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3911.4747658836177,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 285.17410715323615,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 79.83513118459213,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 6.131099999999999,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 152.4905170982133,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 27.976365883512646,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 203.97394277218226,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 9.085937499996433,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 11.366491096482116,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 129.94635310418366,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 514.96,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1905.1227162865407,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 207.30656466248058,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 192.9742108767388,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2557.598106652563,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 22.144095938863966,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 24.664376966530423,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1303.3747902814898,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 88.83580729165395,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 10.918098958300279,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 2.036016008270058,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.6535966945230283,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 43.00360635553043,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.1430203436450443,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 594.8706450718885,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 150.87064507188845,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 260,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 11.1127,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.51,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 9.628620933692769,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 74.31320412859422,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 801.495208703264,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 195.57373829418088,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 438.7293956203633,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 399.17565592296063,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 67.9913142573941,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 36.34374999998573,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 259.8927062083673,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 171.65333333333334,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 79.38011317860587,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 20.73065646624806,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 45.946240684937806,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 54.41698099260772,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 123.02275521591092,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 224.2216087866402,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 186.1963986116414,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 9.870645254628217,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 12.131221064778089,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 169.6680006891715,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 204.12282265561757,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 268.7725397220652,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 164.84771874192649,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 148.71766126797212,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 463.0291666666667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 10.066666666666666,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 64.19080622461846,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 61.92767010716185,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 285.17410715323615,
- hasRDI: true,
- daily: 438.7293956203633,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 79.83513118459213,
- hasRDI: true,
- daily: 399.17565592296063,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 6.131099999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 152.4905170982133,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 27.976365883512646,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 203.97394277218226,
- hasRDI: true,
- daily: 67.9913142573941,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 194.8880052721858,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 9.085937499996433,
- hasRDI: true,
- daily: 36.34374999998573,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 11.366491096482116,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 129.94635310418366,
- hasRDI: true,
- daily: 259.8927062083673,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 514.96,
- hasRDI: true,
- daily: 171.65333333333334,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1905.1227162865407,
- hasRDI: true,
- daily: 79.38011317860587,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 207.30656466248058,
- hasRDI: true,
- daily: 20.73065646624806,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 192.9742108767388,
- hasRDI: true,
- daily: 45.946240684937806,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2557.598106652563,
- hasRDI: true,
- daily: 54.41698099260772,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 22.144095938863966,
- hasRDI: true,
- daily: 123.02275521591092,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 24.664376966530423,
- hasRDI: true,
- daily: 224.2216087866402,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1303.3747902814898,
- hasRDI: true,
- daily: 186.1963986116414,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 88.83580729165395,
- hasRDI: true,
- daily: 9.870645254628217,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 10.918098958300279,
- hasRDI: true,
- daily: 12.131221064778089,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 2.036016008270058,
- hasRDI: true,
- daily: 169.6680006891715,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.6535966945230283,
- hasRDI: true,
- daily: 204.12282265561757,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 43.00360635553043,
- hasRDI: true,
- daily: 268.7725397220652,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.1430203436450443,
- hasRDI: true,
- daily: 164.84771874192649,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 594.8706450718885,
- hasRDI: true,
- daily: 148.71766126797212,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 150.87064507188845,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 260,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 11.1127,
- hasRDI: true,
- daily: 463.0291666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.51,
- hasRDI: true,
- daily: 10.066666666666666,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 9.628620933692769,
- hasRDI: true,
- daily: 64.19080622461846,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 74.31320412859422,
- hasRDI: true,
- daily: 61.92767010716185,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 801.495208703264,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/552d62b578c9e13d3a3ef6bc7132ce88?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_5654cf49386d9e00a5ace93b2c3c7b52',
- label: 'Miso Beef Noodle Soup',
- image: 'https://www.edamam.com/web-img/d11/d117b9774b1cefa60bf27cc58dfd742a.jpg',
- source: 'San Francisco Gate',
- url: 'http://www.sfgate.com/food/recipes/detail.html?rid=18945&sorig=qs',
- shareAs:
- 'http://www.edamam.com/recipe/miso-beef-noodle-soup-5654cf49386d9e00a5ace93b2c3c7b52/beef',
- yield: 10,
- dietLabels: ['Low-Fat'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat', 'Sulfites'],
- ingredientLines: [
- '6 cups low-sodium beef broth',
- '2 tablespoons red miso paste',
- '1 pound lean beef, cut into thin slices',
- '2 cups thinly sliced green onions',
- '1 pound udon noodles',
- 'Kosher salt and freshly ground black pepper',
- ],
- ingredients: [
- {
- text: '6 cups low-sodium beef broth',
- weight: 1440,
- foodCategory: 'canned soup',
- foodId: 'food_bxd832fblxgfaibgn0zk0b6dg6dh',
- image: 'https://www.edamam.com/food-img/428/4284513ddbf46e51f0f33566c0d61715.jpg',
- },
- {
- text: '2 tablespoons red miso paste',
- weight: 34,
- foodCategory: 'plant-based protein',
- foodId: 'food_agp37bpbhswz7sa7hlwj7b8vzcbt',
- image: 'https://www.edamam.com/food-img/352/3525e5a38bb13c74aa34ef6c0273bf33.jpg',
- },
- {
- text: '1 pound lean beef, cut into thin slices',
- weight: 453.59237,
- foodCategory: 'meats',
- foodId: 'food_aorkcwpb5mij33awfffroag0z8j1',
- image: 'https://www.edamam.com/food-img/e74/e7477c29517cdc4bcfcc1a0592b54613.jpg',
- },
- {
- text: '2 cups thinly sliced green onions',
- weight: 200,
- foodCategory: 'vegetables',
- foodId: 'food_bknlkyzbuzo27pb11whr4bttkuy6',
- image: 'https://www.edamam.com/food-img/b89/b89986ed6aa466285bdd99bac34b3c46.jpg',
- },
- {
- text: '1 pound udon noodles',
- weight: 453.59237,
- foodCategory: 'grains',
- foodId: 'food_a8hs60uayl5icia1qe8qoba1kwp8',
- image: 'https://www.edamam.com/food-img/296/296ff2b02ef3822928c3c923e22c7d19.jpg',
- },
- {
- text: 'Kosher salt and freshly ground black pepper',
- weight: 15.487108440000002,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Kosher salt and freshly ground black pepper',
- weight: 7.743554220000001,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- ],
- calories: 2583.5785525922,
- totalWeight: 2592.730365784319,
- totalTime: 0,
- cuisineType: ['japanese'],
- mealType: ['lunch/dinner'],
- dishType: ['soup'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2583.5785525922,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 28.919420217572004,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 10.248295767242402,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.9661517481,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 11.725943010385802,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 5.246711739815601,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 385.56176957969,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 23.510075057660003,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 26.704475026008,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 195.292329361458,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 299.37096420000006,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 6020.500969642726,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 472.5537718700366,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 501.52192853184323,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 6030.523594708945,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 24.334778900924256,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 35.58294237078232,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2391.9924482676,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 112.5226070394,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 37.6,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.3979900675576,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.6068208485960005,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 45.25586311773461,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 4.224699569780201,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 264.36672561740005,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 264.36672561740005,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 11.004135354000002,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.4535923700000001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 2.507273125888,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 445.33567617814003,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1951.150781751941,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 129.17892762961,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 44.491415719341546,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 51.24147883621201,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 128.52058985989666,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 94.04030023064003,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 390.584658722916,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 99.79032140000002,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 250.8542070684469,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 47.25537718700366,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 119.4099829837722,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 128.30901265338179,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 135.19321611624588,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 323.4812942798393,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 341.71320689537146,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 12.502511893266668,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 41.77777777777778,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 116.49917229646667,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 200.52468066123078,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 282.84914448584135,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 324.97688998309235,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 66.09168140435001,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 458.5056397500001,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 3.0239491333333337,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 16.71515417258667,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 371.1130634817834,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 28.919420217572004,
- hasRDI: true,
- daily: 44.491415719341546,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 10.248295767242402,
- hasRDI: true,
- daily: 51.24147883621201,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.9661517481,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 11.725943010385802,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 5.246711739815601,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 385.56176957969,
- hasRDI: true,
- daily: 128.52058985989666,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 362.05169452203,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 23.510075057660003,
- hasRDI: true,
- daily: 94.04030023064003,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 26.704475026008,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 195.292329361458,
- hasRDI: true,
- daily: 390.584658722916,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 299.37096420000006,
- hasRDI: true,
- daily: 99.79032140000002,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 6020.500969642726,
- hasRDI: true,
- daily: 250.8542070684469,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 472.5537718700366,
- hasRDI: true,
- daily: 47.25537718700366,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 501.52192853184323,
- hasRDI: true,
- daily: 119.4099829837722,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 6030.523594708945,
- hasRDI: true,
- daily: 128.30901265338179,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 24.334778900924256,
- hasRDI: true,
- daily: 135.19321611624588,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 35.58294237078232,
- hasRDI: true,
- daily: 323.4812942798393,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2391.9924482676,
- hasRDI: true,
- daily: 341.71320689537146,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 112.5226070394,
- hasRDI: true,
- daily: 12.502511893266668,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 37.6,
- hasRDI: true,
- daily: 41.77777777777778,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.3979900675576,
- hasRDI: true,
- daily: 116.49917229646667,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.6068208485960005,
- hasRDI: true,
- daily: 200.52468066123078,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 45.25586311773461,
- hasRDI: true,
- daily: 282.84914448584135,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 4.224699569780201,
- hasRDI: true,
- daily: 324.97688998309235,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 264.36672561740005,
- hasRDI: true,
- daily: 66.09168140435001,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 264.36672561740005,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 11.004135354000002,
- hasRDI: true,
- daily: 458.5056397500001,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.4535923700000001,
- hasRDI: true,
- daily: 3.0239491333333337,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 2.507273125888,
- hasRDI: true,
- daily: 16.71515417258667,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 445.33567617814003,
- hasRDI: true,
- daily: 371.1130634817834,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1951.150781751941,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/5654cf49386d9e00a5ace93b2c3c7b52?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_991232a409facc297814cbd1acf50038',
- label: 'Corned Beef Hash',
- image: 'https://www.edamam.com/web-img/7a7/7a766341f9356d2a29e11a458ad64e2a.jpg',
- source: 'Cookstr',
- url: 'http://www.cookstr.com/recipes/corned-beef-hash-james-beard',
- shareAs:
- 'http://www.edamam.com/recipe/corned-beef-hash-991232a409facc297814cbd1acf50038/beef',
- yield: 12,
- dietLabels: [],
- healthLabels: [
- 'Sugar-Conscious',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Immuno-Supportive',
- ],
- cautions: [],
- ingredientLines: [
- '2 pounds cold corned beef',
- '4 to 6 cold boiled potatoes of medium size, coarsely chopped',
- '1 medium size onion, finely chopped',
- 'Freshly ground pepper',
- '¼ teaspoon nutmeg',
- 'Butter or beef drippings',
- 'Heavy cream or boiling water (optional)',
- ],
- ingredients: [
- {
- text: '2 pounds cold corned beef',
- weight: 907.18474,
- foodCategory: 'cured meats',
- foodId: 'food_aejgdv3a562bk6a89mn8fbatgvvy',
- image: 'https://www.edamam.com/food-img/398/3987556d40b795424aca4c832bce1c4a.jpg',
- },
- {
- text: '4 to 6 cold boiled potatoes of medium size, coarsely chopped',
- weight: 1065,
- foodCategory: 'vegetables',
- foodId: 'food_abiw5baauresjmb6xpap2bg3otzu',
- image: 'https://www.edamam.com/food-img/651/6512e82417bce15c2899630c1a2799df.jpg',
- },
- {
- text: '1 medium size onion, finely chopped',
- weight: 110,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: 'Freshly ground pepper',
- weight: 6.248204220000001,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '¼ teaspoon nutmeg',
- weight: 0.55,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_aa8vp2kadkkiiubgpp48fazrqiq2',
- image: 'https://www.edamam.com/food-img/b9e/b9e54f78ae18cf99a6504b472ba25e7b.jpg',
- },
- {
- text: 'Butter or beef drippings',
- weight: 28.325192464000004,
- foodCategory: 'Dairy',
- foodId: 'food_awz3iefajbk1fwahq9logahmgltj',
- image: 'https://www.edamam.com/food-img/713/71397239b670d88c04faa8d05035cab4.jpg',
- },
- {
- text: 'Heavy cream or boiling water (optional)',
- weight: 62.48204220000001,
- foodCategory: 'Dairy',
- foodId: 'food_bgtkr21b5v16mca246x9ebnaswyo',
- image: 'https://www.edamam.com/food-img/484/4848d71f6a14dd5076083f5e17925420.jpg',
- },
- ],
- calories: 3097.5009533490806,
- totalWeight: 2179.790178884,
- totalTime: 240,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3097.5009533490806,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 182.73534193912243,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 72.40353202915394,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.9284998089699201,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 77.86641829853525,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 7.069450066623121,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 203.6266243275484,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 26.995195667660003,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 14.787677599866399,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 158.10067425150206,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 636.3793212116,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 11136.93487385104,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 292.70585011596006,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 399.5870396194801,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 7477.211889725162,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 24.5172523869148,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 29.385645090495604,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1756.9367208229603,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 452.2600250351601,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 463.27627205320005,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.3165028076648,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.88470112125376,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 44.67048753552749,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 5.940743107026121,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 241.48846917932002,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 241.48846917932002,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 16.308508875148803,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.8622521823600001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.5129354363728003,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 34.885499131020005,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1588.7668802714736,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 154.87504766745403,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 281.1312952909576,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 362.0176601457697,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 67.87554144251614,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 107.98078267064002,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 316.2013485030041,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 212.12644040386667,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 464.0389530771266,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 29.270585011596005,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 95.13977133797145,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 159.08961467500345,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 136.20695770508223,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 267.14222809541457,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 250.99096011756575,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 50.251113892795566,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 514.7514133924445,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 109.7085673054,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 144.9770093272123,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 279.1905470970468,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 456.9802390020092,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 60.372117294830005,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 679.5212031312001,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 5.748347882400001,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 10.086236242485336,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 29.071249275850004,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 182.73534193912243,
- hasRDI: true,
- daily: 281.1312952909576,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 72.40353202915394,
- hasRDI: true,
- daily: 362.0176601457697,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.9284998089699201,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 77.86641829853525,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 7.069450066623121,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 203.6266243275484,
- hasRDI: true,
- daily: 67.87554144251614,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 176.6314286598884,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 26.995195667660003,
- hasRDI: true,
- daily: 107.98078267064002,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 14.787677599866399,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 158.10067425150206,
- hasRDI: true,
- daily: 316.2013485030041,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 636.3793212116,
- hasRDI: true,
- daily: 212.12644040386667,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 11136.93487385104,
- hasRDI: true,
- daily: 464.0389530771266,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 292.70585011596006,
- hasRDI: true,
- daily: 29.270585011596005,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 399.5870396194801,
- hasRDI: true,
- daily: 95.13977133797145,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 7477.211889725162,
- hasRDI: true,
- daily: 159.08961467500345,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 24.5172523869148,
- hasRDI: true,
- daily: 136.20695770508223,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 29.385645090495604,
- hasRDI: true,
- daily: 267.14222809541457,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1756.9367208229603,
- hasRDI: true,
- daily: 250.99096011756575,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 452.2600250351601,
- hasRDI: true,
- daily: 50.251113892795566,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 463.27627205320005,
- hasRDI: true,
- daily: 514.7514133924445,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.3165028076648,
- hasRDI: true,
- daily: 109.7085673054,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.88470112125376,
- hasRDI: true,
- daily: 144.9770093272123,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 44.67048753552749,
- hasRDI: true,
- daily: 279.1905470970468,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 5.940743107026121,
- hasRDI: true,
- daily: 456.9802390020092,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 241.48846917932002,
- hasRDI: true,
- daily: 60.372117294830005,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 241.48846917932002,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 16.308508875148803,
- hasRDI: true,
- daily: 679.5212031312001,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.8622521823600001,
- hasRDI: true,
- daily: 5.748347882400001,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 1.5129354363728003,
- hasRDI: true,
- daily: 10.086236242485336,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 34.885499131020005,
- hasRDI: true,
- daily: 29.071249275850004,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1588.7668802714736,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/991232a409facc297814cbd1acf50038?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_4b618d914641134be87084c4cb217a3f',
- label: 'Beef Carnitas',
- image: 'https://www.edamam.com/web-img/431/431ea8ed1e8b779dc8644e0c3a8d5c19.jpg',
- source: "Men's Health",
- url: 'https://www.menshealth.com/recipes/beef-carnitas',
- shareAs: 'http://www.edamam.com/recipe/beef-carnitas-4b618d914641134be87084c4cb217a3f/beef',
- yield: 4,
- dietLabels: ['High-Protein', 'Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Paleo',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '2 lb lb lean beef stew meat, cut into 1/2" pieces',
- '3/4 cup mild salsa',
- '2 tbsp chopped chipotle chili peppers in adobo sauce',
- '1/2 tsp salt',
- 'tsp black pepper',
- '1 C beef stock (we used Kitchen Basics) or water',
- ],
- ingredients: [
- {
- text: '2 lb lb lean beef stew meat, cut into 1/2" pieces',
- weight: 453.59237,
- foodCategory: 'meats',
- foodId: 'food_aorkcwpb5mij33awfffroag0z8j1',
- image: 'https://www.edamam.com/food-img/e74/e7477c29517cdc4bcfcc1a0592b54613.jpg',
- },
- {
- text: '3/4 cup mild salsa',
- weight: 195,
- foodCategory: 'canned soup',
- foodId: 'food_b0t3obfawlm5k2b6erxscacez35u',
- image: 'https://www.edamam.com/food-img/995/995d0f166754a0475c181b9c156fec43.jpg',
- },
- {
- text: '2 tbsp chopped chipotle chili peppers in adobo sauce',
- weight: 16.99999999971258,
- foodCategory: 'canned vegetables',
- foodId: 'food_bumzpysb5k05cibmscqp2a0fwgpa',
- image: 'https://www.edamam.com/food-img/c34/c343c40fbfe50bd72bbb3890c83a4315.jpeg',
- },
- {
- text: '1/2 tsp salt',
- weight: 3,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'tsp black pepper',
- weight: 2.9,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1 C beef stock (we used Kitchen Basics) or water',
- weight: 240,
- foodCategory: 'canned soup',
- foodId: 'food_bxd832fblxgfaibgn0zk0b6dg6dh',
- image: 'https://www.edamam.com/food-img/428/4284513ddbf46e51f0f33566c0d61715.jpg',
- },
- ],
- calories: 661.0535387999397,
- totalWeight: 908.4923699997127,
- totalTime: 10,
- cuisineType: ['mexican'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 661.0535387999397,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 18.757375562999712,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 8.113362627599972,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.9661517481,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 9.971996191999983,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 1.576352101899842,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 19.658093976985338,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 4.464699999996263,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 9.561959999990458,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 107.52203902999742,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 299.37096420000006,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2417.3498196966284,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 155.23993179997987,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 144.10747399995978,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2698.477608299463,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 11.773622139998563,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 25.834849586999514,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1096.1800532999512,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 157.80484739828984,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 15.264999999804553,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.5168558959999425,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.0656270289998564,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 27.987391002997708,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.0860536615995606,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 32.93669479997126,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 32.93669479997126,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 10.976935354000002,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.4535923700000001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 3.230848554998017,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 21.46018554997499,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 750.2932261227343,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 33.052676939996985,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 28.8575008661534,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 40.56681313799986,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 6.552697992328446,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 17.858799999985052,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 215.04407805999483,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 99.79032140000002,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 100.72290915402618,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 15.523993179997987,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 34.31130333332376,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 57.41441719786092,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 65.40901188888091,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 234.86226897272283,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 156.5971504714216,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 17.533871933143317,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 16.96111111089395,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 43.07132466666188,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 81.97130992306587,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 174.92119376873566,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 237.3887431999662,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 8.234173699992814,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 457.3723064166668,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 3.0239491333333337,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 21.538990366653444,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 17.883487958312493,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 18.757375562999712,
- hasRDI: true,
- daily: 28.8575008661534,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 8.113362627599972,
- hasRDI: true,
- daily: 40.56681313799986,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.9661517481,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 9.971996191999983,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 1.576352101899842,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 19.658093976985338,
- hasRDI: true,
- daily: 6.552697992328446,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 15.193393976989075,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 4.464699999996263,
- hasRDI: true,
- daily: 17.858799999985052,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 9.561959999990458,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 107.52203902999742,
- hasRDI: true,
- daily: 215.04407805999483,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 299.37096420000006,
- hasRDI: true,
- daily: 99.79032140000002,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2417.3498196966284,
- hasRDI: true,
- daily: 100.72290915402618,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 155.23993179997987,
- hasRDI: true,
- daily: 15.523993179997987,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 144.10747399995978,
- hasRDI: true,
- daily: 34.31130333332376,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2698.477608299463,
- hasRDI: true,
- daily: 57.41441719786092,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 11.773622139998563,
- hasRDI: true,
- daily: 65.40901188888091,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 25.834849586999514,
- hasRDI: true,
- daily: 234.86226897272283,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1096.1800532999512,
- hasRDI: true,
- daily: 156.5971504714216,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 157.80484739828984,
- hasRDI: true,
- daily: 17.533871933143317,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 15.264999999804553,
- hasRDI: true,
- daily: 16.96111111089395,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.5168558959999425,
- hasRDI: true,
- daily: 43.07132466666188,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.0656270289998564,
- hasRDI: true,
- daily: 81.97130992306587,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 27.987391002997708,
- hasRDI: true,
- daily: 174.92119376873566,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.0860536615995606,
- hasRDI: true,
- daily: 237.3887431999662,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 32.93669479997126,
- hasRDI: true,
- daily: 8.234173699992814,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 32.93669479997126,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 10.976935354000002,
- hasRDI: true,
- daily: 457.3723064166668,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.4535923700000001,
- hasRDI: true,
- daily: 3.0239491333333337,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 3.230848554998017,
- hasRDI: true,
- daily: 21.538990366653444,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 21.46018554997499,
- hasRDI: true,
- daily: 17.883487958312493,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 750.2932261227343,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/4b618d914641134be87084c4cb217a3f?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_62ebc9d43ec31eace0c035db993eb1f5',
- label: 'Roast sirloin of beef',
- image: 'https://www.edamam.com/web-img/889/88989a61c8c566b8d29ed6b982fb06d8.jpg',
- source: 'BBC Good Food',
- url: 'https://www.bbcgoodfood.com/recipes/roast-sirloin-beef',
- shareAs:
- 'http://www.edamam.com/recipe/roast-sirloin-of-beef-62ebc9d43ec31eace0c035db993eb1f5/beef',
- yield: 6,
- dietLabels: ['High-Protein', 'Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat', 'Sulfites'],
- ingredientLines: [
- '2 tbsp vegetable oil or beef fat',
- '1-1.5kg/2lb 4-3lb 5oz sirloin of beef joint',
- '1 glass red wine',
- '400g can beef consommé',
- ],
- ingredients: [
- {
- text: '2 tbsp vegetable oil or beef fat',
- weight: 28,
- foodCategory: 'Oils',
- foodId: 'food_bt1mzi2ah2sfg8bv7no1qai83w8s',
- image: 'https://www.edamam.com/food-img/6e5/6e51a63a6300a8ea1b4c4cc68dfaba33.jpg',
- },
- {
- text: '1-1.5kg/2lb 4-3lb 5oz sirloin of beef joint',
- weight: 1250,
- foodCategory: 'meats',
- foodId: 'food_bknby1la98smrsbwnthinbam42nj',
- image: 'https://www.edamam.com/food-img/bab/bab88ab3ea40d34e4c8ae35d6b30344a.jpg',
- },
- {
- text: '1 glass red wine',
- weight: 235.2,
- foodCategory: 'wines',
- foodId: 'food_b5q0xv2ba8la5hbzdfzdgaca3fwu',
- image: 'https://www.edamam.com/food-img/82b/82b8d0db2d5c38fc7498a657c0afc4ee.JPG',
- },
- {
- text: '400g can beef consommé',
- weight: 400,
- foodCategory: 'canned soup',
- foodId: 'food_arlagstbtxcrk4ablvuh9b36no9m',
- image: 'https://www.edamam.com/food-img/6a5/6a5f7cf073a7e70af946bfb4d558a914.jpg',
- },
- ],
- calories: 2120.44,
- totalWeight: 1913.2,
- totalTime: 160,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2120.44,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 88.125,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 26.673080000000002,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 3.33976,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 51.53248,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 8.66244,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 10.55872,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 1.45824,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 279.54464,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 787.5,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2052.908,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 197.316,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 290.724,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 5217.204,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 28.08692,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 68.55427999999999,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2818.596,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 25,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 1.6,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.04776,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.245912,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 62.79434799999999,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 7.274064,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 43.852,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 43.852,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 28.375,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.25,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 8.354000000000001,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 19.6908,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1492.38448,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 106.022,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 135.57692307692307,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 133.36540000000002,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 3.5195733333333328,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 559.08928,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 262.5,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 85.53783333333332,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 19.7316,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 69.22,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 111.00434042553191,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 156.03844444444445,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 623.2207272727272,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 402.6565714285714,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 2.7777777777777777,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 1.7777777777777777,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 87.31333333333333,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 172.76246153846154,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 392.46467499999994,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 559.5433846153845,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 10.963,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1182.2916666666667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 8.333333333333334,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 55.69333333333334,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 16.409,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 88.125,
- hasRDI: true,
- daily: 135.57692307692307,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 26.673080000000002,
- hasRDI: true,
- daily: 133.36540000000002,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 3.33976,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 51.53248,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 8.66244,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 10.55872,
- hasRDI: true,
- daily: 3.5195733333333328,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 10.55872,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 1.45824,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 279.54464,
- hasRDI: true,
- daily: 559.08928,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 787.5,
- hasRDI: true,
- daily: 262.5,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2052.908,
- hasRDI: true,
- daily: 85.53783333333332,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 197.316,
- hasRDI: true,
- daily: 19.7316,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 290.724,
- hasRDI: true,
- daily: 69.22,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 5217.204,
- hasRDI: true,
- daily: 111.00434042553191,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 28.08692,
- hasRDI: true,
- daily: 156.03844444444445,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 68.55427999999999,
- hasRDI: true,
- daily: 623.2207272727272,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2818.596,
- hasRDI: true,
- daily: 402.6565714285714,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 25,
- hasRDI: true,
- daily: 2.7777777777777777,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 1.6,
- hasRDI: true,
- daily: 1.7777777777777777,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.04776,
- hasRDI: true,
- daily: 87.31333333333333,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.245912,
- hasRDI: true,
- daily: 172.76246153846154,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 62.79434799999999,
- hasRDI: true,
- daily: 392.46467499999994,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 7.274064,
- hasRDI: true,
- daily: 559.5433846153845,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 43.852,
- hasRDI: true,
- daily: 10.963,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 43.852,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 28.375,
- hasRDI: true,
- daily: 1182.2916666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.25,
- hasRDI: true,
- daily: 8.333333333333334,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 8.354000000000001,
- hasRDI: true,
- daily: 55.69333333333334,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 19.6908,
- hasRDI: true,
- daily: 16.409,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1492.38448,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/62ebc9d43ec31eace0c035db993eb1f5?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_320278f6f05727827764697c0330f5cd',
- label: 'Beef Stroganoff',
- image: 'https://www.edamam.com/web-img/39c/39cc04c5b4b8c7a5ee471bb1910ad14f.jpg',
- source: 'My Recipes',
- url: 'http://www.myrecipes.com/recipe/beef-stroganoff-8',
- shareAs:
- 'http://www.edamam.com/recipe/beef-stroganoff-320278f6f05727827764697c0330f5cd/beef',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Immuno-Supportive',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- 'Salt and pepper',
- '2 teaspoons paprika',
- '1 1/2 pounds beef stew meat, cut into cubes',
- '1 tablespoon vegetable oil',
- '2 cups sliced shitake mushrooms (6 oz.) or white mushrooms',
- '3 shallots, thinly sliced',
- '1 1/2 cups low-sodium beef broth',
- '1/2 cup sour cream',
- ],
- ingredients: [
- {
- text: 'Salt and pepper',
- weight: 9.1285141625,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Salt and pepper',
- weight: 4.56425708125,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '2 teaspoons paprika',
- weight: 4.6,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a9dpcnjb883g67b3lq82ca0421ql',
- image: 'https://www.edamam.com/food-img/474/474d63763b9d8b9da98c5f43a114648c.jpg',
- },
- {
- text: '1 1/2 pounds beef stew meat, cut into cubes',
- weight: 680.388555,
- foodCategory: 'meats',
- foodId: 'food_bknby1la98smrsbwnthinbam42nj',
- image: 'https://www.edamam.com/food-img/bab/bab88ab3ea40d34e4c8ae35d6b30344a.jpg',
- },
- {
- text: '1 tablespoon vegetable oil',
- weight: 14,
- foodCategory: 'Oils',
- foodId: 'food_bt1mzi2ah2sfg8bv7no1qai83w8s',
- image: 'https://www.edamam.com/food-img/6e5/6e51a63a6300a8ea1b4c4cc68dfaba33.jpg',
- },
- {
- text: '2 cups sliced shitake mushrooms (6 oz.) or white mushrooms',
- weight: 170.09713875,
- foodCategory: 'vegetables',
- foodId: 'food_aq85j07b3arnn3bjy9gribye1mpm',
- image: 'https://www.edamam.com/food-img/e1e/e1e021cc92b36fa5d19571c2a331d53b.jpg',
- },
- {
- text: '3 shallots, thinly sliced',
- weight: 177.33333333333334,
- foodCategory: 'vegetables',
- foodId: 'food_bu2ver7a5f52dfap8q9f0bn085qb',
- image: 'https://www.edamam.com/food-img/d23/d23e3be21df05e9e16c05eadb12341e7.jpeg',
- },
- {
- text: '1 1/2 cups low-sodium beef broth',
- weight: 360,
- foodCategory: 'canned soup',
- foodId: 'food_bxd832fblxgfaibgn0zk0b6dg6dh',
- image: 'https://www.edamam.com/food-img/428/4284513ddbf46e51f0f33566c0d61715.jpg',
- },
- {
- text: '1/2 cup sour cream',
- weight: 115,
- foodCategory: 'Dairy',
- foodId: 'food_adp9fcubzl3lr7bcvzn3rbfiiiwq',
- image: 'https://www.edamam.com/food-img/f9d/f9d6183267b041b0aff9a10b89c9c15f.jpg',
- },
- ],
- calories: 1486.9564339489377,
- totalWeight: 1531.6689672630541,
- totalTime: 0,
- cuisineType: ['eastern europe'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1486.9564339489377,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 71.49273358955708,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 27.98883559863767,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.8083513875000001,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 33.2760192569971,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 5.958871806170875,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 55.19244439058438,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 12.687252176972917,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 23.765296480903334,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 166.07675885407525,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 488.44478965,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 3548.643607659056,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 344.88401107190384,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 266.89076073992226,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 4641.381776541024,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 19.647411185189327,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 40.578535030323685,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2038.8574859383752,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 330.53812051193756,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 15.263066666666667,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.8565348124602501,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.151433664000417,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 43.97940087729285,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 5.350109597043938,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 121.09754172464584,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 121.09754172464584,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 15.7668201985,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.8207771100000003,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 6.275701005978334,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 25.219983833672917,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1218.1442930887706,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 74.34782169744688,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 109.98882090701089,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 139.94417799318836,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 18.397481463528127,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 50.74900870789167,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 332.15351770815045,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 162.81492988333335,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 147.86015031912734,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 34.48840110719038,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 63.545419223791015,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 98.752803756192,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 109.15228436216292,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 368.89577300294263,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 291.2653551340536,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 36.72645783465973,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 16.958962962962964,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 71.37790103835418,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 165.49489723080129,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 274.87125548308035,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 411.5468920803028,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 30.27438543116146,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 656.9508416041667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 12.138514066666668,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 41.83800670652223,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 21.016653194727432,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 71.49273358955708,
- hasRDI: true,
- daily: 109.98882090701089,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 27.98883559863767,
- hasRDI: true,
- daily: 139.94417799318836,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.8083513875000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 33.2760192569971,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 5.958871806170875,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 55.19244439058438,
- hasRDI: true,
- daily: 18.397481463528127,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 42.50519221361146,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 12.687252176972917,
- hasRDI: true,
- daily: 50.74900870789167,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 23.765296480903334,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 166.07675885407525,
- hasRDI: true,
- daily: 332.15351770815045,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 488.44478965,
- hasRDI: true,
- daily: 162.81492988333335,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 3548.643607659056,
- hasRDI: true,
- daily: 147.86015031912734,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 344.88401107190384,
- hasRDI: true,
- daily: 34.48840110719038,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 266.89076073992226,
- hasRDI: true,
- daily: 63.545419223791015,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 4641.381776541024,
- hasRDI: true,
- daily: 98.752803756192,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 19.647411185189327,
- hasRDI: true,
- daily: 109.15228436216292,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 40.578535030323685,
- hasRDI: true,
- daily: 368.89577300294263,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2038.8574859383752,
- hasRDI: true,
- daily: 291.2653551340536,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 330.53812051193756,
- hasRDI: true,
- daily: 36.72645783465973,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 15.263066666666667,
- hasRDI: true,
- daily: 16.958962962962964,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.8565348124602501,
- hasRDI: true,
- daily: 71.37790103835418,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.151433664000417,
- hasRDI: true,
- daily: 165.49489723080129,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 43.97940087729285,
- hasRDI: true,
- daily: 274.87125548308035,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 5.350109597043938,
- hasRDI: true,
- daily: 411.5468920803028,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 121.09754172464584,
- hasRDI: true,
- daily: 30.27438543116146,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 121.09754172464584,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 15.7668201985,
- hasRDI: true,
- daily: 656.9508416041667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.8207771100000003,
- hasRDI: true,
- daily: 12.138514066666668,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 6.275701005978334,
- hasRDI: true,
- daily: 41.83800670652223,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 25.219983833672917,
- hasRDI: true,
- daily: 21.016653194727432,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1218.1442930887706,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/320278f6f05727827764697c0330f5cd?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_5cc235e2ae6319b854f0ecadae1c8105',
- label: 'Beef Medallions',
- image: 'https://www.edamam.com/web-img/3aa/3aa1aace88f3f4d388663b1443ea1d17.jpg',
- source: 'Delish',
- url: 'http://www.delish.com/cooking/recipe-ideas/recipes/a32308/beef-medallions-120718/',
- shareAs:
- 'http://www.edamam.com/recipe/beef-medallions-5cc235e2ae6319b854f0ecadae1c8105/beef',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '1½ lb. center-cut beef tenderloin',
- '¼ tsp. salt',
- '¼ tsp. Freshly ground pepper',
- '1¼ c. beef broth',
- '1 tbsp. tomato paste',
- '1 tbsp. quick-mixing flour',
- '2 tsp. dried thyme',
- '½ c. dry Madeira wine',
- 'Browning and seasoning sauce',
- '1 tbsp. stick butter',
- '1 package assorted wild mushrooms',
- ],
- ingredients: [
- {
- text: '1½ lb. center-cut beef tenderloin',
- weight: 680.388555,
- foodCategory: 'meats',
- foodId: 'food_au8m3zia67rlqoavmsp0cbvzhwiq',
- image: 'https://www.edamam.com/food-img/f70/f70890fe73fc9e333aa584a88a61e351.jpg',
- },
- {
- text: '¼ tsp. salt',
- weight: 1.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '¼ tsp. Freshly ground pepper',
- weight: 0.725,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1¼ c. beef broth',
- weight: 300,
- foodCategory: 'canned soup',
- foodId: 'food_bxd832fblxgfaibgn0zk0b6dg6dh',
- image: 'https://www.edamam.com/food-img/428/4284513ddbf46e51f0f33566c0d61715.jpg',
- },
- {
- text: '1 tbsp. tomato paste',
- weight: 16,
- foodCategory: 'canned vegetables',
- foodId: 'food_auu2atfal07b6gbd1a5wsawy7u0s',
- image: 'https://www.edamam.com/food-img/aef/aef4e029118da71388e526086506053a.jpg',
- },
- {
- text: '1 tbsp. quick-mixing flour',
- weight: 7.8124999998679145,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '2 tsp. dried thyme',
- weight: 2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_avsq22zadwyb5cb5sl1byaa4mbo8',
- image: 'https://www.edamam.com/food-img/89b/89b37a04e46e052671d73addcb84aa51.jpg',
- },
- {
- text: '½ c. dry Madeira wine',
- weight: 118,
- foodCategory: 'wines',
- foodId: 'food_bw5p1agbubb4dubpm8r0yax8fjco',
- image: 'https://www.edamam.com/food-img/aeb/aebdd2e72bc13fa8ca762a408b6e58b6.jpg',
- },
- {
- text: 'Browning and seasoning sauce',
- weight: 11.460260549998681,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_aj7w3xab0epj7cbgkbkpwadysovd',
- image: 'https://www.edamam.com/food-img/c23/c23e20823b442067307aa436969358f1.jpg',
- },
- {
- text: '1 tbsp. stick butter',
- weight: 14.2,
- foodCategory: 'Dairy',
- foodId: 'food_awz3iefajbk1fwahq9logahmgltj',
- image: 'https://www.edamam.com/food-img/713/71397239b670d88c04faa8d05035cab4.jpg',
- },
- {
- text: '1 package assorted wild mushrooms',
- weight: 5.4,
- foodCategory: 'vegetables',
- foodId: 'food_bi2oq7wabjac9ra4ata3sb8e5yc9',
- image: 'https://www.edamam.com/food-img/b91/b91ff356529731d28ffa0b2b55ea7976.jpg',
- },
- ],
- calories: 1998.6420951880152,
- totalWeight: 1157.486315549867,
- totalTime: 27,
- cuisineType: ['mediterranean'],
- mealType: ['snack'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1998.6420951880152,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 134.65666875341358,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 56.95233030479475,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.46547599999999995,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 55.36821125248287,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 5.3843599432474285,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 25.43510114464334,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 3.290571942146285,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 4.8383784398996195,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 143.90156933773125,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 608.86027175,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1654.407797848497,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 370.20295882796705,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 210.80819463196798,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3039.15212881185,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 18.32740206064799,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 25.177186606269036,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1373.853787890355,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 128.41129392599825,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 5.879231265999842,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.520495136451838,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.9468834838504449,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 47.56614317393332,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 4.067179572959924,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 107.92640060896385,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 107.92640060896385,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 7.508414105000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.4992,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 4.150136014759903,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 141.80541784968898,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 830.9728148366892,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 99.93210475940076,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 207.16410577448244,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 284.76165152397374,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 8.478367048214446,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 13.16228776858514,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 287.8031386754625,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 202.95342391666668,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 68.93365824368738,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 37.02029588279671,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 50.19242729332571,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 64.66281125131596,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 101.81890033693328,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 228.88351460244579,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 196.2648268414793,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 14.26792154733314,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 6.532479184444268,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 43.37459470431983,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 72.83719106541884,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 297.2883948370833,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 312.8599671507634,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 26.98160015224096,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 312.85058770833336,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 3.328,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 27.66757343173269,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 118.17118154140749,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 134.65666875341358,
- hasRDI: true,
- daily: 207.16410577448244,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 56.95233030479475,
- hasRDI: true,
- daily: 284.76165152397374,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.46547599999999995,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 55.36821125248287,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 5.3843599432474285,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 25.43510114464334,
- hasRDI: true,
- daily: 8.478367048214446,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 22.144529202497054,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 3.290571942146285,
- hasRDI: true,
- daily: 13.16228776858514,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 4.8383784398996195,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 143.90156933773125,
- hasRDI: true,
- daily: 287.8031386754625,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 608.86027175,
- hasRDI: true,
- daily: 202.95342391666668,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1654.407797848497,
- hasRDI: true,
- daily: 68.93365824368738,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 370.20295882796705,
- hasRDI: true,
- daily: 37.02029588279671,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 210.80819463196798,
- hasRDI: true,
- daily: 50.19242729332571,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3039.15212881185,
- hasRDI: true,
- daily: 64.66281125131596,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 18.32740206064799,
- hasRDI: true,
- daily: 101.81890033693328,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 25.177186606269036,
- hasRDI: true,
- daily: 228.88351460244579,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1373.853787890355,
- hasRDI: true,
- daily: 196.2648268414793,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 128.41129392599825,
- hasRDI: true,
- daily: 14.26792154733314,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 5.879231265999842,
- hasRDI: true,
- daily: 6.532479184444268,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.520495136451838,
- hasRDI: true,
- daily: 43.37459470431983,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.9468834838504449,
- hasRDI: true,
- daily: 72.83719106541884,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 47.56614317393332,
- hasRDI: true,
- daily: 297.2883948370833,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 4.067179572959924,
- hasRDI: true,
- daily: 312.8599671507634,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 107.92640060896385,
- hasRDI: true,
- daily: 26.98160015224096,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 107.92640060896385,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 7.508414105000001,
- hasRDI: true,
- daily: 312.85058770833336,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.4992,
- hasRDI: true,
- daily: 3.328,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 4.150136014759903,
- hasRDI: true,
- daily: 27.66757343173269,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 141.80541784968898,
- hasRDI: true,
- daily: 118.17118154140749,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 830.9728148366892,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/5cc235e2ae6319b854f0ecadae1c8105?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- ],
-};
-
-export const fishRecipes = {
- from: 1,
- to: 20,
- count: 10000,
- _links: {
- next: {
- href: 'https://api.edamam.com/api/recipes/v2?q=fish&app_key=fd382a172ba8d6668c0430dc9c14a181&_cont=CHcVQBtNNQphDmgVQntAEX4BYVRtAgAOR2ZCBWQRalNwDAUBUXlSAGsSNVQgVwsAR2NBBmBCa117BwoOQDZDBDYbYgEiBFcVLnlSVSBMPkd5BgMbUSYRVTdgMgksRlpSAAcRXTVGcV84SU4%3D&type=public&app_id=ea1d37d5',
- title: 'Next page',
- },
- },
- hits: [
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_672c9e7e3fbc6240477d99152ba8f6b3',
- label: 'Burnt-Scallion Fish',
- image: 'https://images.unsplash.com/photo-1519708227418-c8fd9a32b7a2',
- source: 'Saveur',
- url: 'http://www.saveur.com/article/Recipes/Burnt-Scallion-Fish',
- shareAs:
- 'http://www.edamam.com/recipe/burnt-scallion-fish-672c9e7e3fbc6240477d99152ba8f6b3/fish',
- yield: 6,
- dietLabels: ['Low-Carb', 'Low-Sodium'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Pescatarian',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- 'Immuno-Supportive',
- ],
- cautions: [],
- ingredientLines: ['2 bunches scallions', '8 tbsp. butter', '2 8-oz. fish filets'],
- ingredients: [
- {
- text: '2 bunches scallions',
- weight: 226,
- foodCategory: 'vegetables',
- foodId: 'food_bknlkyzbuzo27pb11whr4bttkuy6',
- image: 'https://www.edamam.com/food-img/b89/b89986ed6aa466285bdd99bac34b3c46.jpg',
- },
- {
- text: '8 tbsp. butter',
- weight: 113.6,
- foodCategory: 'Dairy',
- foodId: 'food_awz3iefajbk1fwahq9logahmgltj',
- image: 'https://www.edamam.com/food-img/713/71397239b670d88c04faa8d05035cab4.jpg',
- },
- {
- text: '2 8-oz. fish filets',
- weight: 453.59237,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- ],
- calories: 1322.2806752000001,
- totalWeight: 793.19237,
- totalTime: 0,
- cuisineType: ['british'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1322.2806752000001,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 100.28143028999999,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 61.0798833645,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 3.7238079999999996,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 26.1997660026,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 5.2706283031000005,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 16.65656,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 5.876000000000001,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 5.33396,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 96.182747896,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 471.03618500000005,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 284.5240324,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 235.34323700000004,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 169.94193990000002,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2020.8729574000004,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 5.9076372720000006,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.4804948210000006,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 881.9910290000001,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 890.0239999999999,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 42.48800000000001,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.3159528717000001,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.5051871931,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 18.9379222011,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.8760876394000001,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 256.9101688,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 256.9101688,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 7.359879446000002,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 15.76536347,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 5.69288948,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 482.12229318000004,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 577.5605624960001,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 66.11403376000001,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 154.27912352307692,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 305.39941682250003,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 5.552186666666667,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 23.504000000000005,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 192.365495792,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 157.01206166666668,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 11.855168016666667,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 23.534323700000005,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 40.46236664285715,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 42.99729696595745,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 32.82020706666667,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 22.549952918181823,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 125.99871842857145,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 98.89155555555556,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 47.2088888888889,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 26.329405975000007,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 38.860553315384614,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 118.362013756875,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 67.39135687692308,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 64.2275422,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 306.66164358333344,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 105.10242313333333,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 37.952596533333335,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 401.76857765000005,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 100.28143028999999,
- hasRDI: true,
- daily: 154.27912352307692,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 61.0798833645,
- hasRDI: true,
- daily: 305.39941682250003,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 3.7238079999999996,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 26.1997660026,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 5.2706283031000005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 16.65656,
- hasRDI: true,
- daily: 5.552186666666667,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 10.780559999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 5.876000000000001,
- hasRDI: true,
- daily: 23.504000000000005,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 5.33396,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 96.182747896,
- hasRDI: true,
- daily: 192.365495792,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 471.03618500000005,
- hasRDI: true,
- daily: 157.01206166666668,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 284.5240324,
- hasRDI: true,
- daily: 11.855168016666667,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 235.34323700000004,
- hasRDI: true,
- daily: 23.534323700000005,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 169.94193990000002,
- hasRDI: true,
- daily: 40.46236664285715,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2020.8729574000004,
- hasRDI: true,
- daily: 42.99729696595745,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 5.9076372720000006,
- hasRDI: true,
- daily: 32.82020706666667,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.4804948210000006,
- hasRDI: true,
- daily: 22.549952918181823,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 881.9910290000001,
- hasRDI: true,
- daily: 125.99871842857145,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 890.0239999999999,
- hasRDI: true,
- daily: 98.89155555555556,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 42.48800000000001,
- hasRDI: true,
- daily: 47.2088888888889,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.3159528717000001,
- hasRDI: true,
- daily: 26.329405975000007,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.5051871931,
- hasRDI: true,
- daily: 38.860553315384614,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 18.9379222011,
- hasRDI: true,
- daily: 118.362013756875,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.8760876394000001,
- hasRDI: true,
- daily: 67.39135687692308,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 256.9101688,
- hasRDI: true,
- daily: 64.2275422,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 256.9101688,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 7.359879446000002,
- hasRDI: true,
- daily: 306.66164358333344,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 15.76536347,
- hasRDI: true,
- daily: 105.10242313333333,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 5.69288948,
- hasRDI: true,
- daily: 37.952596533333335,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 482.12229318000004,
- hasRDI: true,
- daily: 401.76857765000005,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 577.5605624960001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/672c9e7e3fbc6240477d99152ba8f6b3?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_1297c760f06e7c47e77387cdcafae687',
- label: 'Fish Fumet recipes',
- image: 'https://www.edamam.com/web-img/eb5/eb58edb23bf93ebc4ea94abdd95c14ee',
- source: 'Martha Stewart',
- url: 'http://www.marthastewart.com/352662/fish-fumet',
- shareAs:
- 'http://www.edamam.com/recipe/fish-fumet-recipes-1297c760f06e7c47e77387cdcafae687/fish',
- yield: 4,
- dietLabels: ['High-Protein', 'Low-Fat'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Paleo',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: [],
- ingredientLines: [
- '1 pound fish bones, preferably from halibut or turbot, cut from tail to stomach',
- 'coarse salt',
- '1 shallot, thinly sliced',
- '1/2 cup white wine',
- ],
- ingredients: [
- {
- text: '1 pound fish bones, preferably from halibut or turbot, cut from tail to stomach',
- weight: 453.59237,
- foodCategory: 'seafood',
- foodId: 'food_ac67s7dbn8nrr4ackhixearqoe7p',
- image: 'https://www.edamam.com/food-img/7e8/7e8bc8e9579e124e37cf406e42d10c05.jpg',
- },
- {
- text: 'coarse salt',
- weight: 3.7818208866666674,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1 shallot, thinly sliced',
- weight: 59.111111111111114,
- foodCategory: 'vegetables',
- foodId: 'food_bu2ver7a5f52dfap8q9f0bn085qb',
- image: 'https://www.edamam.com/food-img/d23/d23e3be21df05e9e16c05eadb12341e7.jpeg',
- },
- {
- text: '1/2 cup white wine',
- weight: 117.6,
- foodCategory: 'wines',
- foodId: 'food_bn44h7baron9ufaoxinmya8l0yye',
- image: 'https://www.edamam.com/food-img/a71/a718cf3c52add522128929f1f324d2ab.jpg',
- },
- ],
- calories: 551.7610567,
- totalWeight: 633.256012186814,
- totalTime: 80,
- cuisineType: ['south east asian'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 551.7610567,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 6.091889632111112,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 1.3345386092888891,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 2.1446956182555557,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 1.3384712063333335,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 12.988266666666668,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 1.8915555555555557,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 5.781004444444445,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 85.74684164977778,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 222.26026130000002,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1465.758139254267,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 64.91518446927981,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 128.52910374409035,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2254.290123097168,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 1.7623444778831532,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.0134495075201473,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1127.1126598666667,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 90.71847400000001,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 4.728888888888889,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.2681428516666667,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.16553993322222224,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 29.787701280322224,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.7484195209333344,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 75.70486217777778,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 75.70486217777778,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 4.989516070000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 21.318841390000003,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 2.7905579014444446,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.9432888888888888,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 513.7400417868181,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 27.588052835000003,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 9.372137895555557,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 6.672693046444445,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 4.329422222222223,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 7.566222222222223,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 171.49368329955556,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 74.08675376666667,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 61.073255802261116,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 6.491518446927981,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 30.60216755811675,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 47.96361964036527,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 9.790802654906408,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 18.30408643200134,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 161.01609426666667,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 10.079830444444447,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 5.254320987654321,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 22.34523763888889,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 12.733841017094017,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 186.1731330020139,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 211.4168862256411,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 18.926215544444446,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 207.89650291666672,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 142.1256092666667,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 18.603719342962965,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.786074074074074,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 6.091889632111112,
- hasRDI: true,
- daily: 9.372137895555557,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 1.3345386092888891,
- hasRDI: true,
- daily: 6.672693046444445,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 2.1446956182555557,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 1.3384712063333335,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 12.988266666666668,
- hasRDI: true,
- daily: 4.329422222222223,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 11.096711111111112,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 1.8915555555555557,
- hasRDI: true,
- daily: 7.566222222222223,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 5.781004444444445,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 85.74684164977778,
- hasRDI: true,
- daily: 171.49368329955556,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 222.26026130000002,
- hasRDI: true,
- daily: 74.08675376666667,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1465.758139254267,
- hasRDI: true,
- daily: 61.073255802261116,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 64.91518446927981,
- hasRDI: true,
- daily: 6.491518446927981,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 128.52910374409035,
- hasRDI: true,
- daily: 30.60216755811675,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2254.290123097168,
- hasRDI: true,
- daily: 47.96361964036527,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 1.7623444778831532,
- hasRDI: true,
- daily: 9.790802654906408,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.0134495075201473,
- hasRDI: true,
- daily: 18.30408643200134,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1127.1126598666667,
- hasRDI: true,
- daily: 161.01609426666667,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 90.71847400000001,
- hasRDI: true,
- daily: 10.079830444444447,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 4.728888888888889,
- hasRDI: true,
- daily: 5.254320987654321,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.2681428516666667,
- hasRDI: true,
- daily: 22.34523763888889,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.16553993322222224,
- hasRDI: true,
- daily: 12.733841017094017,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 29.787701280322224,
- hasRDI: true,
- daily: 186.1731330020139,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.7484195209333344,
- hasRDI: true,
- daily: 211.4168862256411,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 75.70486217777778,
- hasRDI: true,
- daily: 18.926215544444446,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 75.70486217777778,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 4.989516070000001,
- hasRDI: true,
- daily: 207.89650291666672,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 21.318841390000003,
- hasRDI: true,
- daily: 142.1256092666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 2.7905579014444446,
- hasRDI: true,
- daily: 18.603719342962965,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 0.9432888888888888,
- hasRDI: true,
- daily: 0.786074074074074,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 513.7400417868181,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/1297c760f06e7c47e77387cdcafae687?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_ad0e583f5f88accd3ce54037a62c84ad',
- label: 'Fish Head Curry',
- image: 'https://www.edamam.com/web-img/453/45377df0aa09dfc2b19bdaad0dda0683.jpg',
- source: 'Serious Eats',
- url: 'http://www.seriouseats.com/recipes/2011/04/fish-head-curry-recipe.html',
- shareAs:
- 'http://www.edamam.com/recipe/fish-head-curry-ad0e583f5f88accd3ce54037a62c84ad/fish',
- yield: 4,
- dietLabels: ['High-Fiber'],
- healthLabels: [
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Tree-Nuts', 'Shellfish', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '1/2 to 2 fish heads, depending on size, about 5 pounds total',
- '2 tablespoons vegetable oil',
- '1/4 cup red or green thai curry paste',
- '3 tablespoons fish sauce or anchovy sauce',
- '1 tablespoon sugar',
- '1 can coconut milk, about 12 ounces',
- '3 medium size asian eggplants, cut int 1 inch rounds',
- "Handful of bird's eye chilies",
- '1/2 cup thai basil leaves',
- 'Juice of 3 limes',
- ],
- ingredients: [
- {
- text: '1/2 to 2 fish heads, depending on size, about 5 pounds total',
- weight: 200,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: '2 tablespoons vegetable oil',
- weight: 28,
- foodCategory: 'Oils',
- foodId: 'food_bt1mzi2ah2sfg8bv7no1qai83w8s',
- image: 'https://www.edamam.com/food-img/6e5/6e51a63a6300a8ea1b4c4cc68dfaba33.jpg',
- },
- {
- text: '1/4 cup red or green thai curry paste',
- weight: 64.00000000108204,
- foodCategory: 'condiments and sauces',
- foodId: 'food_aojdol2are6zg7af2nincbe87jot',
- image: 'https://www.edamam.com/food-img/b6a/b6a9ebae5850f42eca0253827603ef9c.jpg',
- },
- {
- text: '3 tablespoons fish sauce or anchovy sauce',
- weight: 54,
- foodCategory: 'canned soup',
- foodId: 'food_ahlu6u3ab8bu1wap7cbqua3s1quk',
- image: 'https://www.edamam.com/food-img/7b5/7b58b769d8bf7b79acf12a76b79ea9bc.jpg',
- },
- {
- text: '1 tablespoon sugar',
- weight: 12.4999999997887,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '1 can coconut milk, about 12 ounces',
- weight: 423.75000000000006,
- foodCategory: 'non-dairy beverages',
- foodId: 'food_by1k6v2adj7drhbq9w1rpbpen9ms',
- image: 'https://www.edamam.com/food-img/671/671f7528eadb1b01efb53243d0ef0f80.JPG',
- },
- {
- text: '3 medium size asian eggplants, cut int 1 inch rounds',
- weight: 1644,
- foodCategory: 'vegetables',
- foodId: 'food_ac9n68caswlpggbp7727varlyjk5',
- image: 'https://www.edamam.com/food-img/da5/da5978d61b89a363147a6d13c36e3b54.jpg',
- },
- {
- text: "Handful of bird's eye chilies",
- weight: 13.125,
- foodCategory: 'vegetables',
- foodId: 'food_akybxs9atrgwona5nz3jgbo3vor5',
- image: 'https://www.edamam.com/food-img/e3d/e3d161d6cfe5ef287053aed5461738ba.jpg',
- },
- {
- text: '1/2 cup thai basil leaves',
- weight: 12,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bfeht3obd58c3gak5ehpibxgbbs6',
- image: 'https://www.edamam.com/food-img/5f1/5f1b05685ac2b404236a5d1c1f3c8c10.jpg',
- },
- {
- text: 'Juice of 3 limes',
- weight: 201,
- foodCategory: 'fruit',
- foodId: 'food_av58muyb8kg92fbk0g8g8aui5knv',
- image: 'https://www.edamam.com/food-img/48a/48a123c9576647c4ada6a41df5eeb22a.jpg',
- },
- ],
- calories: 1896.422150240477,
- totalWeight: 2652.375000000871,
- totalTime: 30,
- cuisineType: ['south east asian'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1896.422150240477,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 128.82823320997989,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 84.23491736232799,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.21476000000000003,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 26.99581129674846,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 9.042704916818673,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 156.5229500255765,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 58.42169465252728,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 77.3128303926044,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 12.474999999789123,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 72.89773412069614,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 105.88779927561954,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 4761.615533061478,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 415.13655117858775,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 629.7540936389671,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 6004.433626068514,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 23.851242925807906,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 6.909628177613245,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1260.7977381771416,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 113.5421739560973,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 116.04036736814913,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.9688926004812607,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.8942921636010911,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 24.309595994179848,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.3629743821626077,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 549.4861671908342,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 549.4861671908342,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 3.436489569280292,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 6.2,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 13.636231138739808,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 118.27249210761133,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 2265.402423259149,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 94.82110751202386,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 198.19728186150752,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 421.17458681164,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 52.174316675192166,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 233.68677861010912,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 145.79546824139229,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 35.29593309187318,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 198.40064721089493,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 41.513655117858775,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 149.94145086642072,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 127.75390693762796,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 132.50690514337725,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 62.81480161466586,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 180.11396259673452,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 12.615797106233034,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 128.9337415201657,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 80.74105004010507,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 68.79170489239162,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 151.93497496362406,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 181.76726016635442,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 137.37154179770855,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 143.18706538667885,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 41.333333333333336,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 90.90820759159872,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 98.5604100896761,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 128.82823320997989,
- hasRDI: true,
- daily: 198.19728186150752,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 84.23491736232799,
- hasRDI: true,
- daily: 421.17458681164,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.21476000000000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 26.99581129674846,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 9.042704916818673,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 156.5229500255765,
- hasRDI: true,
- daily: 52.174316675192166,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 98.10125537304923,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 58.42169465252728,
- hasRDI: true,
- daily: 233.68677861010912,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 77.3128303926044,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 12.474999999789123,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 72.89773412069614,
- hasRDI: true,
- daily: 145.79546824139229,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 105.88779927561954,
- hasRDI: true,
- daily: 35.29593309187318,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 4761.615533061478,
- hasRDI: true,
- daily: 198.40064721089493,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 415.13655117858775,
- hasRDI: true,
- daily: 41.513655117858775,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 629.7540936389671,
- hasRDI: true,
- daily: 149.94145086642072,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 6004.433626068514,
- hasRDI: true,
- daily: 127.75390693762796,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 23.851242925807906,
- hasRDI: true,
- daily: 132.50690514337725,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 6.909628177613245,
- hasRDI: true,
- daily: 62.81480161466586,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1260.7977381771416,
- hasRDI: true,
- daily: 180.11396259673452,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 113.5421739560973,
- hasRDI: true,
- daily: 12.615797106233034,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 116.04036736814913,
- hasRDI: true,
- daily: 128.9337415201657,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.9688926004812607,
- hasRDI: true,
- daily: 80.74105004010507,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.8942921636010911,
- hasRDI: true,
- daily: 68.79170489239162,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 24.309595994179848,
- hasRDI: true,
- daily: 151.93497496362406,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.3629743821626077,
- hasRDI: true,
- daily: 181.76726016635442,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 549.4861671908342,
- hasRDI: true,
- daily: 137.37154179770855,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 549.4861671908342,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 3.436489569280292,
- hasRDI: true,
- daily: 143.18706538667885,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 6.2,
- hasRDI: true,
- daily: 41.333333333333336,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 13.636231138739808,
- hasRDI: true,
- daily: 90.90820759159872,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 118.27249210761133,
- hasRDI: true,
- daily: 98.5604100896761,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 2265.402423259149,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/ad0e583f5f88accd3ce54037a62c84ad?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_80f49564a588ad6ba3f2748327b127e6',
- label: 'Homemade fish fingers',
- image: 'https://www.edamam.com/web-img/798/79872b022c279ee76b9bee7421481e5f.jpg',
- source: 'BBC',
- url: 'http://www.bbc.co.uk/food/recipes/homemade_fish_fingers_85938',
- shareAs:
- 'http://www.edamam.com/recipe/homemade-fish-fingers-80f49564a588ad6ba3f2748327b127e6/fish',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Pescatarian',
- 'Dairy-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: [],
- ingredientLines: [
- '3 tbsp plain flour',
- '1 large free-range egg, beaten',
- '50g/1¾oz golden breadcrumbs (if not available, substitute with 30g/1oz fresh white breadcrumbs mixed with 20g/½oz easy-cook polenta)',
- '500g/1lb2oz thick skinless fish fillets (salmon, cod, haddock or other white fish), cut into 4 or 8 thick pieces',
- '3 tbsp sunflower oil',
- 'Salt and freshly ground black pepper',
- ],
- ingredients: [
- {
- text: '3 tbsp plain flour',
- weight: 23.437499999603745,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '1 large free-range egg, beaten',
- weight: 50,
- foodCategory: 'Eggs',
- foodId: 'food_bhpradua77pk16aipcvzeayg732r',
- image: 'https://www.edamam.com/food-img/a7e/a7ec7c337cb47c6550b3b118e357f077.jpg',
- },
- {
- text: '50g/1¾oz golden breadcrumbs (if not available, substitute with 30g/1oz fresh white breadcrumbs mixed with 20g/½oz easy-cook polenta)',
- weight: 50,
- foodCategory: 'bread, rolls and tortillas',
- foodId: 'food_ata1dxza443wfda7jb4e5b3zwt9p',
- image: 'https://www.edamam.com/food-img/349/349f852497885b9d9c0b195ad0d0db8f.jpg',
- },
- {
- text: '500g/1lb2oz thick skinless fish fillets (salmon, cod, haddock or other white fish), cut into 4 or 8 thick pieces',
- weight: 500,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: '3 tbsp sunflower oil',
- weight: 40.8,
- foodCategory: 'Oils',
- foodId: 'food_b09yz1nbx49rv1bss5kgxat77cvn',
- image: 'https://www.edamam.com/food-img/be4/be4dba2bb618ecda2213ac422ae05289.jpg',
- },
- {
- text: 'Salt and freshly ground black pepper',
- weight: 3.985424999997622,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Salt and freshly ground black pepper',
- weight: 1.992712499998811,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- ],
- calories: 1199.9862083735545,
- totalWeight: 668.4270176548313,
- totalTime: 60,
- cuisineType: ['british'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1199.9862083735545,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 56.99964992749608,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 10.457566682999369,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.019,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 23.715216770374642,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 18.76838414574835,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 55.50949589344686,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 3.3869687624890004,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 3.3610346099989226,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 115.98313657870894,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 436,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1549.3050345635756,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 182.3705746121902,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 171.08575642646306,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1728.7370185369784,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 6.564960590757504,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 3.209972583902441,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1059.9609857495702,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 80.53803237499967,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.7387771294995232,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.7579618824998393,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 23.18524545387003,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.9716112933748222,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 231.93251112489676,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 162.43251112489676,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 41,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 8.52,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 16.5,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 19.360426709999746,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 15.985582862496866,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 434.77643558776305,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 59.99931041867773,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 87.69176911922474,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 52.28783341499684,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 18.50316529781562,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 13.547875049956001,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 231.9662731574179,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 145.33333333333334,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 64.55437644014899,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 18.23705746121902,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 40.73470391106263,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 36.78163869227614,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 36.47200328198613,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 29.181568944567644,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 151.42299796422432,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 8.948670263888852,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 61.56476079162694,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 58.304760192295326,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 144.90778408668768,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 74.7393302596017,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 57.98312778122419,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 355,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 110,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 129.0695113999983,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 13.321319052080721,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 56.99964992749608,
- hasRDI: true,
- daily: 87.69176911922474,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 10.457566682999369,
- hasRDI: true,
- daily: 52.28783341499684,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.019,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 23.715216770374642,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 18.76838414574835,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 55.50949589344686,
- hasRDI: true,
- daily: 18.50316529781562,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 52.12252713095786,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 3.3869687624890004,
- hasRDI: true,
- daily: 13.547875049956001,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 3.3610346099989226,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 115.98313657870894,
- hasRDI: true,
- daily: 231.9662731574179,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 436,
- hasRDI: true,
- daily: 145.33333333333334,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1549.3050345635756,
- hasRDI: true,
- daily: 64.55437644014899,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 182.3705746121902,
- hasRDI: true,
- daily: 18.23705746121902,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 171.08575642646306,
- hasRDI: true,
- daily: 40.73470391106263,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1728.7370185369784,
- hasRDI: true,
- daily: 36.78163869227614,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 6.564960590757504,
- hasRDI: true,
- daily: 36.47200328198613,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 3.209972583902441,
- hasRDI: true,
- daily: 29.181568944567644,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1059.9609857495702,
- hasRDI: true,
- daily: 151.42299796422432,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 80.53803237499967,
- hasRDI: true,
- daily: 8.948670263888852,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.7387771294995232,
- hasRDI: true,
- daily: 61.56476079162694,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.7579618824998393,
- hasRDI: true,
- daily: 58.304760192295326,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 23.18524545387003,
- hasRDI: true,
- daily: 144.90778408668768,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.9716112933748222,
- hasRDI: true,
- daily: 74.7393302596017,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 231.93251112489676,
- hasRDI: true,
- daily: 57.98312778122419,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 162.43251112489676,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 41,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 8.52,
- hasRDI: true,
- daily: 355,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 16.5,
- hasRDI: true,
- daily: 110,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 19.360426709999746,
- hasRDI: true,
- daily: 129.0695113999983,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 15.985582862496866,
- hasRDI: true,
- daily: 13.321319052080721,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 434.77643558776305,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/80f49564a588ad6ba3f2748327b127e6?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_9b4b3972ae2d7ebcb88f37abfbb65a33',
- label: 'Fish And Chips',
- image: 'https://www.edamam.com/web-img/e2a/e2a26f70fb6440b093ba5afb1560772b.jpg',
- source: 'No Recipes',
- url: 'http://norecipes.com/blog/fish-and-chips-recipe/',
- shareAs:
- 'http://www.edamam.com/recipe/fish-and-chips-9b4b3972ae2d7ebcb88f37abfbb65a33/fish',
- yield: 2,
- dietLabels: ['High-Fiber'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Pescatarian',
- 'Mediterranean',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat'],
- ingredientLines: [
- '4 medium potatoes I used a mix of yukon gold and russet',
- '4 medium fish fillets cod, haddock and albacore work well',
- '1/2 cup + 2 tablespoons flour',
- '2 tablespoons cornstarch',
- '1/4 teaspoon paprika',
- '1/4 teaspoon onion powder',
- 'vegetable oil for frying',
- '1/4 teaspoon baking powder',
- '1/2 cup very cold beer you may need a little more',
- ],
- ingredients: [
- {
- text: '4 medium potatoes I used a mix of yukon gold and russet',
- weight: 852,
- foodCategory: 'vegetables',
- foodId: 'food_abiw5baauresjmb6xpap2bg3otzu',
- image: 'https://www.edamam.com/food-img/651/6512e82417bce15c2899630c1a2799df.jpg',
- },
- {
- text: '4 medium fish fillets cod, haddock and albacore work well',
- weight: 231,
- foodCategory: 'seafood',
- foodId: 'food_a3z8tuub0gc30kaqthfuibcqz9os',
- image: 'https://www.edamam.com/food-img/d58/d58d0ccfc3a15f1dfb7877f17a068d4d.jpg',
- },
- {
- text: '4 medium fish fillets cod, haddock and albacore work well',
- weight: 193,
- foodCategory: 'seafood',
- foodId: 'food_ayfi958a1oqf07brviufabx7rhho',
- image: 'https://www.edamam.com/food-img/25c/25c7b9d6948bbee0d9e3d2c130a4b3f1.jpg',
- },
- {
- text: '4 medium fish fillets cod, haddock and albacore work well',
- weight: 170,
- foodCategory: 'seafood',
- foodId: 'food_bu5s7alaj4fjv8bf9qxvnba38oay',
- image: 'https://www.edamam.com/food-img/022/022db6571bd5b3dfbd3ef8941c775d12.jpg',
- },
- {
- text: '1/2 cup + 2 tablespoons flour',
- weight: 62.5,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '1/2 cup + 2 tablespoons flour',
- weight: 15.624999999735829,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '2 tablespoons cornstarch',
- weight: 15.99999999972949,
- foodCategory: null,
- foodId: 'food_bevnfkfbvjm45pbbgj9nsb3ypntm',
- image: 'https://www.edamam.com/food-img/f9b/f9b74d9495b40c0aea955c37a1fc39dc.jpg',
- },
- {
- text: '1/4 teaspoon paprika',
- weight: 0.575,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a9dpcnjb883g67b3lq82ca0421ql',
- image: 'https://www.edamam.com/food-img/474/474d63763b9d8b9da98c5f43a114648c.jpg',
- },
- {
- text: '1/4 teaspoon onion powder',
- weight: 0.6,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bmv8z27b1o25vcbu41ooyawd2zj4',
- image: 'https://www.edamam.com/food-img/1e7/1e73e6f5dd96bb233abc0fcc05fb0ec8.jpg',
- },
- {
- text: 'vegetable oil for frying',
- weight: 22.592999999992724,
- foodCategory: 'Oils',
- foodId: 'food_bt1mzi2ah2sfg8bv7no1qai83w8s',
- image: 'https://www.edamam.com/food-img/6e5/6e51a63a6300a8ea1b4c4cc68dfaba33.jpg',
- },
- {
- text: '1/4 teaspoon baking powder',
- weight: 1.15,
- foodCategory: 'condiments and sauces',
- foodId: 'food_bad4zycbt4w60dbut111vaub2g3e',
- image: 'https://www.edamam.com/food-img/a84/a8410ec57a2e62a1ad9955ac14d40af6.jpg',
- },
- {
- text: '1/2 cup very cold beer you may need a little more',
- weight: 118.8,
- foodCategory: 'beer',
- foodId: 'food_b3ieo81b7uf59ya5529oobsaaqbu',
- image: 'https://www.edamam.com/food-img/7f8/7f82e3944cd8fcba3ffad7b6ce741c62.jpg',
- },
- ],
- calories: 3777.070499997298,
- totalWeight: 1910.437499999385,
- totalTime: 0,
- cuisineType: ['british'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3777.070499997298,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 254.057482499917,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 17.35291087499434,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.9461881249993844,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 180.02317012494197,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 44.449499499985116,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 228.3444999995515,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 21.291549999990433,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 6.955772499999287,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 140.13240749997198,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 269.85,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 762.8029999999703,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 272.32749999995497,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 396.8554999999338,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 5977.857249999709,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 10.448082499995637,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 5.374682499997988,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2086.161499999679,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 105.29225,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 170.299575,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.2006894999996829,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.7968024999998943,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 53.2894774999967,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 5.3134217499998835,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 207.15624999993128,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 207.15624999993128,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 9.19376,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 5.933999999999999,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 57.37879499998235,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 17.502699999999212,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1270.4045499999463,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 188.8535249998649,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 390.8576653844877,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 86.76455437497171,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 76.11483333318382,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 85.16619999996173,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 280.26481499994395,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 89.95000000000002,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 31.7834583333321,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 27.232749999995495,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 94.489404761889,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 127.18845212765338,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 58.04490277775354,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 48.86074999998171,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 298.0230714285256,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 11.69913888888889,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 189.22175000000001,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 100.05745833330691,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 61.29249999999187,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 333.0592343749794,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 408.72474999999105,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 51.78906249998282,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 383.0733333333333,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 39.559999999999995,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 382.5252999998823,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 14.585583333332677,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 254.057482499917,
- hasRDI: true,
- daily: 390.8576653844877,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 17.35291087499434,
- hasRDI: true,
- daily: 86.76455437497171,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.9461881249993844,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 180.02317012494197,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 44.449499499985116,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 228.3444999995515,
- hasRDI: true,
- daily: 76.11483333318382,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 207.05294999956106,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 21.291549999990433,
- hasRDI: true,
- daily: 85.16619999996173,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 6.955772499999287,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 140.13240749997198,
- hasRDI: true,
- daily: 280.26481499994395,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 269.85,
- hasRDI: true,
- daily: 89.95000000000002,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 762.8029999999703,
- hasRDI: true,
- daily: 31.7834583333321,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 272.32749999995497,
- hasRDI: true,
- daily: 27.232749999995495,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 396.8554999999338,
- hasRDI: true,
- daily: 94.489404761889,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 5977.857249999709,
- hasRDI: true,
- daily: 127.18845212765338,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 10.448082499995637,
- hasRDI: true,
- daily: 58.04490277775354,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 5.374682499997988,
- hasRDI: true,
- daily: 48.86074999998171,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2086.161499999679,
- hasRDI: true,
- daily: 298.0230714285256,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 105.29225,
- hasRDI: true,
- daily: 11.69913888888889,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 170.299575,
- hasRDI: true,
- daily: 189.22175000000001,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.2006894999996829,
- hasRDI: true,
- daily: 100.05745833330691,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.7968024999998943,
- hasRDI: true,
- daily: 61.29249999999187,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 53.2894774999967,
- hasRDI: true,
- daily: 333.0592343749794,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 5.3134217499998835,
- hasRDI: true,
- daily: 408.72474999999105,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 207.15624999993128,
- hasRDI: true,
- daily: 51.78906249998282,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 207.15624999993128,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 9.19376,
- hasRDI: true,
- daily: 383.0733333333333,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 5.933999999999999,
- hasRDI: true,
- daily: 39.559999999999995,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 57.37879499998235,
- hasRDI: true,
- daily: 382.5252999998823,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 17.502699999999212,
- hasRDI: true,
- daily: 14.585583333332677,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1270.4045499999463,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/9b4b3972ae2d7ebcb88f37abfbb65a33?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_d1e03cfc1c475f279d80ab26fdbdf778',
- label: 'Gefilte Fish',
- image: 'https://www.edamam.com/web-img/dff/dffce9a5278556e68789d3e6bff9eda9.jpg',
- source: 'Food52',
- url: 'https://food52.com/recipes/50619-gefilte-fish',
- shareAs: 'http://www.edamam.com/recipe/gefilte-fish-d1e03cfc1c475f279d80ab26fdbdf778/fish',
- yield: 10,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Dairy-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Crustacean-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '32 ounces fish stock',
- '32 ounces water (substitute fish stock for water if your stock is homemade)',
- '1 large carrot, diced',
- '1 rib of celery, diced',
- '8 sprigs fresh thyme',
- '1 leek (trimmed, cleaned, and sliced into thin slivers)',
- '1 cup dry white wine',
- '4 sprigs tarragon',
- 'Olive oil',
- '1/2 medium yellow onion, finely diced',
- '1/3 cup matzo meal',
- '1 cup reinforced fish stock',
- '2 pounds fish, boneless and skinless fillets (see author’s note for details)',
- '1/8 teaspoon white pepper',
- '1/8 teaspoon cayenne',
- '4 eggs, separated',
- '3 teaspoons salt',
- '2 teaspoons sugar',
- ],
- ingredients: [
- {
- text: '32 ounces fish stock',
- weight: 907.18474,
- foodCategory: 'canned soup',
- foodId: 'food_a00wj3maedk41kbwmbl4hb3s5gua',
- image: 'https://www.edamam.com/food-img/e07/e07d7b7a8320da9f235be9d663b7a9f4.jpg',
- },
- {
- text: '32 ounces water (substitute fish stock for water if your stock is homemade)',
- weight: 907.18474,
- foodCategory: 'canned soup',
- foodId: 'food_a00wj3maedk41kbwmbl4hb3s5gua',
- image: 'https://www.edamam.com/food-img/e07/e07d7b7a8320da9f235be9d663b7a9f4.jpg',
- },
- {
- text: '1 large carrot, diced',
- weight: 72,
- foodCategory: 'vegetables',
- foodId: 'food_ai215e5b85pdh5ajd4aafa3w2zm8',
- image: 'https://www.edamam.com/food-img/121/121e33fce0bb9546ed7d060b6c114e29.jpg',
- },
- {
- text: '1 rib of celery, diced',
- weight: 40,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- {
- text: '8 sprigs fresh thyme',
- weight: 24,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b3o3cj7a5gskecb0ufphtadnbfqb',
- image: 'https://www.edamam.com/food-img/3e7/3e7cf3c8d767a90b906447f5e74059f7.jpg',
- },
- {
- text: '1 leek (trimmed, cleaned, and sliced into thin slivers)',
- weight: 89,
- foodCategory: 'vegetables',
- foodId: 'food_a27jevnb06c1m9ax7k41xbbcwcuo',
- image: 'https://www.edamam.com/food-img/4ae/4ae9e09d029a28e0e2c64bdfdbf3f6ae.jpg',
- },
- {
- text: '1 cup dry white wine',
- weight: 235.2,
- foodCategory: 'wines',
- foodId: 'food_a656mk2a5dmqb2adiamu6beihduu',
- image: 'https://www.edamam.com/food-img/a71/a718cf3c52add522128929f1f324d2ab.jpg',
- },
- {
- text: '4 sprigs tarragon',
- weight: 7.2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bcae9pdaob9i69bo94oxramms336',
- image: 'https://www.edamam.com/food-img/22f/22f8945d157d8b759c30e6738639991b.jpg',
- },
- {
- text: 'Olive oil',
- weight: 50.241290725333336,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '1/2 medium yellow onion, finely diced',
- weight: 55,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1/3 cup matzo meal',
- weight: 18.333333333333332,
- foodCategory: 'crackers',
- foodId: 'food_a7qwjpbarote7sbjmkrfiaovtoo3',
- image: 'https://www.edamam.com/food-img/656/656d9f10022c99adde7b67b03b5b17b2.jpg',
- },
- {
- text: '1 cup reinforced fish stock',
- weight: 233,
- foodCategory: 'canned soup',
- foodId: 'food_a00wj3maedk41kbwmbl4hb3s5gua',
- image: 'https://www.edamam.com/food-img/e07/e07d7b7a8320da9f235be9d663b7a9f4.jpg',
- },
- {
- text: '2 pounds fish, boneless and skinless fillets (see author’s note for details)',
- weight: 907.18474,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: '1/8 teaspoon white pepper',
- weight: 0.3,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a443px0bncpqa5avv80p3anrp26k',
- image: 'https://www.edamam.com/food-img/4f0/4f0e35fe6c042996408b337fb550324a.jpg',
- },
- {
- text: '1/8 teaspoon cayenne',
- weight: 0.225,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a8iooz3aris8gba605l07brngnrx',
- image: 'https://www.edamam.com/food-img/374/3742b9434a0fb66a45e0dd6d227ba669.jpg',
- },
- {
- text: '4 eggs, separated',
- weight: 172,
- foodCategory: 'Eggs',
- foodId: 'food_bhpradua77pk16aipcvzeayg732r',
- image: 'https://www.edamam.com/food-img/a7e/a7ec7c337cb47c6550b3b118e357f077.jpg',
- },
- {
- text: '3 teaspoons salt',
- weight: 18,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '2 teaspoons sugar',
- weight: 8.4,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- ],
- calories: 2345.651643878613,
- totalWeight: 3738.4118555811065,
- totalTime: 0,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2345.651643878613,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 100.39348826,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 22.177526530087363,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.06536,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 52.41687593744379,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 15.49035801162683,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 66.7301075,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 9.7756,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 21.10575166666667,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 8.3832,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 257.9520818733333,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1113.9060648,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 8665.793885281548,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 560.7232274059721,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 544.5746568485577,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 7057.672853162382,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 18.68893749141925,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 8.009906008189107,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 3219.016883466667,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1076.9396395999997,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 64.54426948000001,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.3641036718,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 3.3217969410000006,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 63.14370501833334,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.323431819733334,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 471.2668938666667,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 471.2668938666667,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 29.991168304000002,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 31.562726940000005,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 17.616009795085333,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 107.91231837665067,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 3263.032764528378,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 117.28258219393065,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 154.4515204,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 110.88763265043681,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 22.243369166666668,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 39.1024,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 515.9041637466667,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 371.3020216,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 361.07474522006453,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 56.072322740597215,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 129.6606325829899,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 150.1632521949443,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 103.82743050788471,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 72.8173273471737,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 459.8595547809524,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 119.65995995555554,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 71.7158549777778,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 113.67530598333332,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 255.52284161538466,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 394.6481563645834,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 255.64860151794875,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 117.81672346666669,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1249.632012666667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 210.4181796,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 117.44006530056889,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 89.92693198054222,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 100.39348826,
- hasRDI: true,
- daily: 154.4515204,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 22.177526530087363,
- hasRDI: true,
- daily: 110.88763265043681,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.06536,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 52.41687593744379,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 15.49035801162683,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 66.7301075,
- hasRDI: true,
- daily: 22.243369166666668,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 56.954507500000005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 9.7756,
- hasRDI: true,
- daily: 39.1024,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 21.10575166666667,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 8.3832,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 257.9520818733333,
- hasRDI: true,
- daily: 515.9041637466667,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1113.9060648,
- hasRDI: true,
- daily: 371.3020216,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 8665.793885281548,
- hasRDI: true,
- daily: 361.07474522006453,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 560.7232274059721,
- hasRDI: true,
- daily: 56.072322740597215,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 544.5746568485577,
- hasRDI: true,
- daily: 129.6606325829899,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 7057.672853162382,
- hasRDI: true,
- daily: 150.1632521949443,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 18.68893749141925,
- hasRDI: true,
- daily: 103.82743050788471,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 8.009906008189107,
- hasRDI: true,
- daily: 72.8173273471737,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 3219.016883466667,
- hasRDI: true,
- daily: 459.8595547809524,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1076.9396395999997,
- hasRDI: true,
- daily: 119.65995995555554,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 64.54426948000001,
- hasRDI: true,
- daily: 71.7158549777778,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.3641036718,
- hasRDI: true,
- daily: 113.67530598333332,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 3.3217969410000006,
- hasRDI: true,
- daily: 255.52284161538466,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 63.14370501833334,
- hasRDI: true,
- daily: 394.6481563645834,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.323431819733334,
- hasRDI: true,
- daily: 255.64860151794875,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 471.2668938666667,
- hasRDI: true,
- daily: 117.81672346666669,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 471.2668938666667,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 29.991168304000002,
- hasRDI: true,
- daily: 1249.632012666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 31.562726940000005,
- hasRDI: true,
- daily: 210.4181796,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 17.616009795085333,
- hasRDI: true,
- daily: 117.44006530056889,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 107.91231837665067,
- hasRDI: true,
- daily: 89.92693198054222,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 3263.032764528378,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/d1e03cfc1c475f279d80ab26fdbdf778?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_be2008ebd11bd56881e4bb78c5b45a35',
- label: 'Fish pie mac ’n’ cheese',
- image: 'https://www.edamam.com/web-img/ba7/ba7ac47c592c7562cbf64ba833b12878.jpg',
- source: 'BBC Good Food',
- url: 'https://www.bbcgoodfood.com/recipes/fish-pie-mac-n-cheese',
- shareAs:
- 'http://www.edamam.com/recipe/fish-pie-mac-n-cheese-be2008ebd11bd56881e4bb78c5b45a35/fish',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Pescatarian',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '650ml milk',
- '40g plain flour',
- '40g butter',
- '2 tsp Dijon mustard',
- '150g mature cheddar , grated',
- '180g frozen peas',
- 'handful of parsley , chopped',
- '300g macaroni',
- '300g fish pie mix (smoked fish, white fish and salmon)',
- 'green salad , to serve (optional)',
- ],
- ingredients: [
- {
- text: '650ml milk',
- weight: 670.3630000640374,
- foodCategory: 'Milk',
- foodId: 'food_b49rs1kaw0jktabzkg2vvanvvsis',
- image: 'https://www.edamam.com/food-img/7c9/7c9962acf83654a8d98ea6a2ade93735.jpg',
- },
- {
- text: '40g plain flour',
- weight: 40,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '40g butter',
- weight: 40,
- foodCategory: 'Dairy',
- foodId: 'food_awz3iefajbk1fwahq9logahmgltj',
- image: 'https://www.edamam.com/food-img/713/71397239b670d88c04faa8d05035cab4.jpg',
- },
- {
- text: '2 tsp Dijon mustard',
- weight: 10,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a34cdj5b0kyuhfbov30xcb50u4dv',
- image: 'https://www.edamam.com/food-img/e23/e238f2e4cfa6aa1a30f46dc73e7344eb.jpg',
- },
- {
- text: '150g mature cheddar , grated',
- weight: 150,
- foodCategory: 'Cheese',
- foodId: 'food_bhppgmha1u27voagb8eptbp9g376',
- image: 'https://www.edamam.com/food-img/bcd/bcd94dde1fcde1475b5bf0540f821c5d.jpg',
- },
- {
- text: '180g frozen peas',
- weight: 180,
- foodCategory: 'vegetables',
- foodId: 'food_aqrct01b4nxw5eaxoo8woaxc3xd7',
- image: 'https://www.edamam.com/food-img/c91/c9130a361d5c5b279bf48c69e2466ec2.jpg',
- },
- {
- text: 'handful of parsley , chopped',
- weight: 7.5,
- foodCategory: 'vegetables',
- foodId: 'food_b244pqdazw24zobr5vqu2bf0uid8',
- image: 'https://www.edamam.com/food-img/46a/46a132e96626d7989b4d6ed8c91f4da0.jpg',
- },
- {
- text: '300g macaroni',
- weight: 300,
- foodCategory: 'grains',
- foodId: 'food_a8hs60uayl5icia1qe8qoba1kwp8',
- image: 'https://www.edamam.com/food-img/296/296ff2b02ef3822928c3c923e22c7d19.jpg',
- },
- {
- text: '300g fish pie mix (smoked fish, white fish and salmon)',
- weight: 160,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: '300g fish pie mix (smoked fish, white fish and salmon)',
- weight: 0,
- foodCategory: 'seafood',
- foodId: 'food_bhncugnadgibupafbeeapbislbom',
- image: 'https://www.edamam.com/food-img/9a0/9a0f38422e9f21dcedbc2dca0d8209ac.jpg',
- },
- {
- text: 'green salad , to serve (optional)',
- weight: 0,
- foodCategory: 'vegetables',
- foodId: 'food_bqalyxzbzu04hcb8xj930bzar7xg',
- image: 'https://www.edamam.com/food-img/b6d/b6d9f3052d27a3c71220cfa55c6f0a42.jpg',
- },
- ],
- calories: 2864.221430039063,
- totalWeight: 1557.8630000640374,
- totalTime: 50,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2864.221430039063,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 113.71604750208122,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 64.0805699511943,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 3.0806,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 28.138072560519987,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 7.513607850124872,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 314.30417400307374,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 19.427500000000002,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 51.57108150323388,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 142.8891845020172,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 386.03630000640374,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1669.6560900275363,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 1920.860190072362,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 374.6863000064037,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2535.629160084529,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 9.093108900019212,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 14.319593100236938,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2327.154920053791,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1193.9419800294572,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 42.405,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.224816980029457,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.2886634701082236,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 15.773098070056992,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.1819806800230535,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 284.01815000320187,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 284.01815000320187,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 6.932633500288169,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 15.174719000832487,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 3.6895041000448265,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 185.18108900019212,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 971.9271619564362,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 143.21107150195314,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 174.94776538781727,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 320.4028497559715,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 104.76805800102458,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 77.71000000000001,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 285.7783690040344,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 128.67876666880125,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 69.56900375114735,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 192.0860190072362,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 89.21102381104849,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 53.949556597543165,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 50.5172716667734,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 130.1781190930631,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 332.4507028648273,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 132.66022000327303,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 47.11666666666667,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 102.06808166912143,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 176.05103616217104,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 98.5818629378562,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 90.9215907710041,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 71.00453750080047,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 288.8597291786737,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 101.16479333888326,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 24.596694000298843,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 154.31757416682677,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 113.71604750208122,
- hasRDI: true,
- daily: 174.94776538781727,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 64.0805699511943,
- hasRDI: true,
- daily: 320.4028497559715,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 3.0806,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 28.138072560519987,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 7.513607850124872,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 314.30417400307374,
- hasRDI: true,
- daily: 104.76805800102458,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 294.87667400307373,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 19.427500000000002,
- hasRDI: true,
- daily: 77.71000000000001,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 51.57108150323388,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 142.8891845020172,
- hasRDI: true,
- daily: 285.7783690040344,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 386.03630000640374,
- hasRDI: true,
- daily: 128.67876666880125,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1669.6560900275363,
- hasRDI: true,
- daily: 69.56900375114735,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 1920.860190072362,
- hasRDI: true,
- daily: 192.0860190072362,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 374.6863000064037,
- hasRDI: true,
- daily: 89.21102381104849,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2535.629160084529,
- hasRDI: true,
- daily: 53.949556597543165,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 9.093108900019212,
- hasRDI: true,
- daily: 50.5172716667734,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 14.319593100236938,
- hasRDI: true,
- daily: 130.1781190930631,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2327.154920053791,
- hasRDI: true,
- daily: 332.4507028648273,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1193.9419800294572,
- hasRDI: true,
- daily: 132.66022000327303,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 42.405,
- hasRDI: true,
- daily: 47.11666666666667,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.224816980029457,
- hasRDI: true,
- daily: 102.06808166912143,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.2886634701082236,
- hasRDI: true,
- daily: 176.05103616217104,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 15.773098070056992,
- hasRDI: true,
- daily: 98.5818629378562,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.1819806800230535,
- hasRDI: true,
- daily: 90.9215907710041,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 284.01815000320187,
- hasRDI: true,
- daily: 71.00453750080047,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 284.01815000320187,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 6.932633500288169,
- hasRDI: true,
- daily: 288.8597291786737,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 15.174719000832487,
- hasRDI: true,
- daily: 101.16479333888326,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 3.6895041000448265,
- hasRDI: true,
- daily: 24.596694000298843,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 185.18108900019212,
- hasRDI: true,
- daily: 154.31757416682677,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 971.9271619564362,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/be2008ebd11bd56881e4bb78c5b45a35?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_d4287fe5a333f3d32e29a77a085a1492',
- label: 'Portuguese Fish Stew recipes',
- image: 'https://www.edamam.com/web-img/8c3/8c3fa76434ed247063fcb73cedb9688d',
- source: 'Food Republic',
- url: 'http://www.foodrepublic.com/recipes/portuguese-fish-stew/',
- shareAs:
- 'http://www.edamam.com/recipe/portuguese-fish-stew-recipes-d4287fe5a333f3d32e29a77a085a1492/fish',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Sugar-Conscious',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '3 ripe plum tomatoes',
- '7 ounces Savoy cabbage, outer leaves removed',
- '2 tablespoons extra virgin olive oil',
- '7 ounces chorizo sausage (cooked or uncooked), skinned, and cut into chunks',
- '2 pounds new potatoes, peeled and cut into 1/2 inch dice',
- '1/2 cup white wine',
- '6 cups fish stock',
- '2 pounds mixed white fish fillets, skinned and cut into 1-inch pieces',
- 'extra-virgin olive oil',
- 'chopped cilantro',
- ],
- ingredients: [
- {
- text: '3 ripe plum tomatoes',
- weight: 186,
- foodCategory: 'vegetables',
- foodId: 'food_ab8jymba5i5xv3apgymg7a90bxb5',
- image: 'https://www.edamam.com/food-img/23e/23e727a14f1035bdc2733bb0477efbd2.jpg',
- },
- {
- text: '7 ounces Savoy cabbage, outer leaves removed',
- weight: 198.44666187500002,
- foodCategory: 'vegetables',
- foodId: 'food_aqdc0pjbbr7wddbvgrka4bihwsm7',
- image: 'https://www.edamam.com/food-img/29b/29bb6909e03f31b43bf7417e74e7981a.jpg',
- },
- {
- text: '2 tablespoons extra virgin olive oil',
- weight: 27,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '7 ounces chorizo sausage (cooked or uncooked), skinned, and cut into chunks',
- weight: 198.44666187500002,
- foodCategory: 'Cured meats',
- foodId: 'food_a011ctbbqlxv1ebqtemvla9v6mpa',
- image: 'https://www.edamam.com/food-img/c01/c0139ae7ad8a0334a23365b6284a5819.jpg',
- },
- {
- text: '2 pounds new potatoes, peeled and cut into 1/2 inch dice',
- weight: 907.18474,
- foodCategory: 'vegetables',
- foodId: 'food_b5m473aabh39qbbre3ypaa4uwd7j',
- image: 'https://www.edamam.com/food-img/651/6512e82417bce15c2899630c1a2799df.jpg',
- },
- {
- text: '1/2 cup white wine',
- weight: 117.6,
- foodCategory: 'wines',
- foodId: 'food_bn44h7baron9ufaoxinmya8l0yye',
- image: 'https://www.edamam.com/food-img/a71/a718cf3c52add522128929f1f324d2ab.jpg',
- },
- {
- text: '6 cups fish stock',
- weight: 1398,
- foodCategory: 'canned soup',
- foodId: 'food_a00wj3maedk41kbwmbl4hb3s5gua',
- image: 'https://www.edamam.com/food-img/e07/e07d7b7a8320da9f235be9d663b7a9f4.jpg',
- },
- {
- text: '2 pounds mixed white fish fillets, skinned and cut into 1-inch pieces',
- weight: 907.18474,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: 'extra-virgin olive oil',
- weight: 53.582134131000004,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: 'chopped cilantro',
- weight: 39.3986280375,
- foodCategory: 'vegetables',
- foodId: 'food_alhzhuwb4lc7jnb5s6f02by60bzp',
- image: 'https://www.edamam.com/food-img/d57/d57e375b6ff99a90c7ee2b1990a1af36.jpg',
- },
- ],
- calories: 3600.9422606041653,
- totalWeight: 4032.8435659185006,
- totalTime: 60,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3600.9422606041653,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 184.86539800423253,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 48.12764369380248,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 103.32281786175331,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 21.225700835413882,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 186.02045801222627,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 29.445072383175006,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 17.944308260488754,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 286.43551706657377,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 642.2054324500001,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 5248.343500261121,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 383.239609532685,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 685.2014777522502,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 10548.699380191687,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 18.213499754709854,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 14.420495685187504,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 3307.9262920580004,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 338.07670742387506,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 277.75148853137506,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 3.049257249310125,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.6959852646082503,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 73.99781448456902,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 6.358214183075876,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 607.0633081207501,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 607.0633081207501,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 27.948652129500005,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 31.099426868125004,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 20.422901364048503,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 355.45413804311204,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 3336.6339767348168,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 180.04711303020827,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 284.4083046218962,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 240.63821846901243,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 62.00681933740876,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 117.78028953270002,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 572.8710341331475,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 214.06847748333337,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 218.68097917754673,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 38.3239609532685,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 163.14320898863102,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 224.440412344504,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 101.18610974838808,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 131.0954153198864,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 472.5608988654286,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 37.564078602652785,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 308.6127650348612,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 254.10477077584375,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 207.38348189294234,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 462.48634052855635,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 489.09339869814426,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 151.76582703018752,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1164.5271720625003,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 207.32951245416672,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 136.15267576032335,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 296.2117817025934,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 184.86539800423253,
- hasRDI: true,
- daily: 284.4083046218962,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 48.12764369380248,
- hasRDI: true,
- daily: 240.63821846901243,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 103.32281786175331,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 21.225700835413882,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 186.02045801222627,
- hasRDI: true,
- daily: 62.00681933740876,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 156.57538562905125,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 29.445072383175006,
- hasRDI: true,
- daily: 117.78028953270002,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 17.944308260488754,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 286.43551706657377,
- hasRDI: true,
- daily: 572.8710341331475,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 642.2054324500001,
- hasRDI: true,
- daily: 214.06847748333337,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 5248.343500261121,
- hasRDI: true,
- daily: 218.68097917754673,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 383.239609532685,
- hasRDI: true,
- daily: 38.3239609532685,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 685.2014777522502,
- hasRDI: true,
- daily: 163.14320898863102,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 10548.699380191687,
- hasRDI: true,
- daily: 224.440412344504,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 18.213499754709854,
- hasRDI: true,
- daily: 101.18610974838808,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 14.420495685187504,
- hasRDI: true,
- daily: 131.0954153198864,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 3307.9262920580004,
- hasRDI: true,
- daily: 472.5608988654286,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 338.07670742387506,
- hasRDI: true,
- daily: 37.564078602652785,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 277.75148853137506,
- hasRDI: true,
- daily: 308.6127650348612,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 3.049257249310125,
- hasRDI: true,
- daily: 254.10477077584375,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.6959852646082503,
- hasRDI: true,
- daily: 207.38348189294234,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 73.99781448456902,
- hasRDI: true,
- daily: 462.48634052855635,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 6.358214183075876,
- hasRDI: true,
- daily: 489.09339869814426,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 607.0633081207501,
- hasRDI: true,
- daily: 151.76582703018752,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 607.0633081207501,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 27.948652129500005,
- hasRDI: true,
- daily: 1164.5271720625003,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 31.099426868125004,
- hasRDI: true,
- daily: 207.32951245416672,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 20.422901364048503,
- hasRDI: true,
- daily: 136.15267576032335,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 355.45413804311204,
- hasRDI: true,
- daily: 296.2117817025934,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 3336.6339767348168,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/d4287fe5a333f3d32e29a77a085a1492?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_9899a97323159ebb63ccfab80f5ad46c',
- label: 'Breaded Sicilian Fish',
- image: 'https://www.edamam.com/web-img/45d/45de2b6de121abebac834f030f5516bc.jpg',
- source: "In Jennie's Kitchen",
- url: 'http://www.injennieskitchen.com/2009/08/bread-glorious-bread.html',
- shareAs:
- 'http://www.edamam.com/recipe/breaded-sicilian-fish-9899a97323159ebb63ccfab80f5ad46c/fish',
- yield: 4,
- dietLabels: [],
- healthLabels: [
- 'Sugar-Conscious',
- 'Pescatarian',
- 'Mediterranean',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- 'Immuno-Supportive',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 cup breadcrumbs, unseasoned',
- '1 tsp Italian Seasoning',
- '1/4 cup Italian flat leaf parsley, fresh chopped',
- '1 tsp garlic salt',
- 'Salt and pepper, to taste',
- 'Olive Oil',
- '4 x boneless fillets, fresh fish (I like to use swordfish, petrale sole, rock fish or tuna but this does not work on salmon or other thick cut fish)',
- '4-6 x lemon wedges (optional)',
- ],
- ingredients: [
- {
- text: '1 cup breadcrumbs, unseasoned',
- weight: 108,
- foodCategory: 'bread, rolls and tortillas',
- foodId: 'food_ata1dxza443wfda7jb4e5b3zwt9p',
- image: 'https://www.edamam.com/food-img/349/349f852497885b9d9c0b195ad0d0db8f.jpg',
- },
- {
- text: '1 tsp Italian Seasoning',
- weight: 1,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_avsq22zadwyb5cb5sl1byaa4mbo8',
- image: 'https://www.edamam.com/food-img/89b/89b37a04e46e052671d73addcb84aa51.jpg',
- },
- {
- text: '1/4 cup Italian flat leaf parsley, fresh chopped',
- weight: 15,
- foodCategory: null,
- foodId: 'food_av1k4v6asr2ew9ae0d01danb6k25',
- image: 'https://www.edamam.com/food-img/46a/46a132e96626d7989b4d6ed8c91f4da0.jpg',
- },
- {
- text: '1 tsp garlic salt',
- weight: 3.1,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_boq94r1a036492bdup9u1beyph0l',
- image: 'https://www.edamam.com/food-img/5c3/5c3db1d5a1a16b1f0a74796f74dd5985.jpg',
- },
- {
- text: 'Salt and pepper, to taste',
- weight: 3.7566,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Salt and pepper, to taste',
- weight: 1.8783,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: 'Olive Oil',
- weight: 8.51496,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '4 x boneless fillets, fresh fish (I like to use swordfish, petrale sole, rock fish or tuna but this does not work on salmon or other thick cut fish)',
- weight: 464,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: '4-6 x lemon wedges (optional)',
- weight: 35,
- foodCategory: 'fruit',
- foodId: 'food_a6uzc62astrxcgbtzyq59b6fncrr',
- image: 'https://www.edamam.com/food-img/70a/70acba3d4c734d7c70ef4efeed85dc8f.jpg',
- },
- ],
- calories: 980.5977793999999,
- totalWeight: 637.6188505543753,
- totalTime: 0,
- cuisineType: ['british'],
- mealType: ['lunch/dinner'],
- dishType: ['sandwiches'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 980.5977793999999,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 22.50862258,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 5.2840006128,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 9.6984056026,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 4.8910626748,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 86.04510285000002,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 7.459209900000001,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 7.802951120000001,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 109.21900536999999,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 231.99999999999997,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1480.1523462648,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 303.8651603330501,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 189.83014890554375,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1814.62080384435,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 10.59973115482944,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 3.456667360554375,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 999.111714,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 65.907141,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 39.0372,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.2821435639999998,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.76100194,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 25.602134969,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.986099853,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 319.646311,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 169.526311,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 88.56,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 7.7092,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 14.383999999999999,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 3.4444010800000004,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 284.98218302000004,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 414.1356373611087,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 49.029888969999995,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 34.62865012307692,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 26.420003064000003,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 28.681700950000007,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 29.836839600000005,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 218.43801073999998,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 77.33333333333331,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 61.6730144277,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 30.386516033305007,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 45.19765450131994,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 38.60895327328404,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 58.887395304608,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 31.424248732312503,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 142.73024485714288,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 7.323015666666666,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 43.37466666666666,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 106.84529699999999,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 58.53861076923077,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 160.01334355625002,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 75.85383484615384,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 79.91157775,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 321.21666666666664,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 95.89333333333333,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 22.96267386666667,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 237.48515251666672,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 22.50862258,
- hasRDI: true,
- daily: 34.62865012307692,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 5.2840006128,
- hasRDI: true,
- daily: 26.420003064000003,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 9.6984056026,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 4.8910626748,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 86.04510285000002,
- hasRDI: true,
- daily: 28.681700950000007,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 78.58589295000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 7.459209900000001,
- hasRDI: true,
- daily: 29.836839600000005,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 7.802951120000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 109.21900536999999,
- hasRDI: true,
- daily: 218.43801073999998,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 231.99999999999997,
- hasRDI: true,
- daily: 77.33333333333331,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1480.1523462648,
- hasRDI: true,
- daily: 61.6730144277,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 303.8651603330501,
- hasRDI: true,
- daily: 30.386516033305007,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 189.83014890554375,
- hasRDI: true,
- daily: 45.19765450131994,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1814.62080384435,
- hasRDI: true,
- daily: 38.60895327328404,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 10.59973115482944,
- hasRDI: true,
- daily: 58.887395304608,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 3.456667360554375,
- hasRDI: true,
- daily: 31.424248732312503,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 999.111714,
- hasRDI: true,
- daily: 142.73024485714288,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 65.907141,
- hasRDI: true,
- daily: 7.323015666666666,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 39.0372,
- hasRDI: true,
- daily: 43.37466666666666,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.2821435639999998,
- hasRDI: true,
- daily: 106.84529699999999,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.76100194,
- hasRDI: true,
- daily: 58.53861076923077,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 25.602134969,
- hasRDI: true,
- daily: 160.01334355625002,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.986099853,
- hasRDI: true,
- daily: 75.85383484615384,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 319.646311,
- hasRDI: true,
- daily: 79.91157775,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 169.526311,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 88.56,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 7.7092,
- hasRDI: true,
- daily: 321.21666666666664,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 14.383999999999999,
- hasRDI: true,
- daily: 95.89333333333333,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 3.4444010800000004,
- hasRDI: true,
- daily: 22.96267386666667,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 284.98218302000004,
- hasRDI: true,
- daily: 237.48515251666672,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 414.1356373611087,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/9899a97323159ebb63ccfab80f5ad46c?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_1eaf58bbc25d7e627aa57ea14e038055',
- label: 'Fish soup',
- image: 'https://www.edamam.com/web-img/ab1/ab11873e5da76b62c489b0c76eac920d.jpg',
- source: 'Jamie Oliver',
- url: 'http://www.jamieoliver.com/recipes/fish-recipes/fish-soup/',
- shareAs: 'http://www.edamam.com/recipe/fish-soup-1eaf58bbc25d7e627aa57ea14e038055/fish',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Pescatarian',
- 'Paleo',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- ],
- cautions: ['FODMAP'],
- ingredientLines: [
- '1 small bulb of fennel',
- '1 leek',
- '3 sticks of celery',
- '1 fresh red chilli',
- '4 cloves of garlic',
- '3-4 tomatoes',
- '1 bunch of fresh thyme',
- '440 g white fish, from sustainable sources',
- 'olive oil',
- '1 small glass of white wine',
- '400 g prawns, mussels or clams, from sustainable sources',
- 'extra virgin olive oil',
- ],
- ingredients: [
- {
- text: '1 small bulb of fennel',
- weight: 175.5,
- foodCategory: 'vegetables',
- foodId: 'food_a4sdbkob8ixokpb07a42dbt3typw',
- image: 'https://www.edamam.com/food-img/038/038c19f86af781e925c97991e17b90ed.jpeg',
- },
- {
- text: '1 leek',
- weight: 89,
- foodCategory: 'vegetables',
- foodId: 'food_a27jevnb06c1m9ax7k41xbbcwcuo',
- image: 'https://www.edamam.com/food-img/4ae/4ae9e09d029a28e0e2c64bdfdbf3f6ae.jpg',
- },
- {
- text: '3 sticks of celery',
- weight: 120,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- {
- text: '1 fresh red chilli',
- weight: 45,
- foodCategory: 'vegetables',
- foodId: 'food_a6g98mqatzj7vca6ms3bnbzqxf3s',
- image: 'https://www.edamam.com/food-img/469/469213672957a242638e20c27e3e8acd.jpeg',
- },
- {
- text: '4 cloves of garlic',
- weight: 12,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '3-4 tomatoes',
- weight: 430.5,
- foodCategory: 'vegetables',
- foodId: 'food_a6k79rrahp8fe2b26zussa3wtkqh',
- image: 'https://www.edamam.com/food-img/23e/23e727a14f1035bdc2733bb0477efbd2.jpg',
- },
- {
- text: '1 bunch of fresh thyme',
- weight: 15,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b3o3cj7a5gskecb0ufphtadnbfqb',
- image: 'https://www.edamam.com/food-img/3e7/3e7cf3c8d767a90b906447f5e74059f7.jpg',
- },
- {
- text: '440 g white fish, from sustainable sources',
- weight: 440,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: 'olive oil',
- weight: 25.88624,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '1 small glass of white wine',
- weight: 176.39999999999998,
- foodCategory: 'wines',
- foodId: 'food_bn44h7baron9ufaoxinmya8l0yye',
- image: 'https://www.edamam.com/food-img/a71/a718cf3c52add522128929f1f324d2ab.jpg',
- },
- {
- text: '400 g prawns, mussels or clams, from sustainable sources',
- weight: 400,
- foodCategory: 'seafood',
- foodId: 'food_b38bejhbq9loe2bbb7bnmbcpteft',
- image: 'https://www.edamam.com/food-img/ebe/ebe2888b894f48d19762e1d606db0206.jpg',
- },
- {
- text: 'extra virgin olive oil',
- weight: 25.88624,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- ],
- calories: 1565.1317232,
- totalWeight: 1955.17248,
- totalTime: 30,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['soup'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1565.1317232,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 65.48548,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 11.2308640384,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.072,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 41.00794413279999,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 9.338898070399999,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 65.54104999999998,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 17.155500000000004,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 27.49674,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 153.48178000000001,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 724,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2736.6804496,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 594.7187248,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 377.1,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 4409.9867248,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 11.907705887999999,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 7.4170300000000005,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2060.382,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 638.62,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 186.86249999999998,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.588255,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.719265,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 29.813482,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.596155,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 412.944,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 412.944,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 11.392000000000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 14.040000000000003,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 19.274850880000002,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 266.95013296,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1638.8312899999996,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 78.25658616,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 100.7468923076923,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 56.154320192,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 21.84701666666666,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 68.62200000000001,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 306.96356000000003,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 241.33333333333334,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 114.02835206666666,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 59.47187248000001,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 89.78571428571429,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 93.82950478297873,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 66.15392159999999,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 67.42754545454547,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 294.34028571428576,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 70.95777777777778,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 207.625,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 49.02125,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 55.32807692307693,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 186.3342625,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 199.70423076923075,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 103.236,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 474.6666666666667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 93.60000000000001,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 128.4990058666667,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 222.45844413333333,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 65.48548,
- hasRDI: true,
- daily: 100.7468923076923,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 11.2308640384,
- hasRDI: true,
- daily: 56.154320192,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.072,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 41.00794413279999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 9.338898070399999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 65.54104999999998,
- hasRDI: true,
- daily: 21.84701666666666,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 48.38554999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 17.155500000000004,
- hasRDI: true,
- daily: 68.62200000000001,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 27.49674,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 153.48178000000001,
- hasRDI: true,
- daily: 306.96356000000003,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 724,
- hasRDI: true,
- daily: 241.33333333333334,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2736.6804496,
- hasRDI: true,
- daily: 114.02835206666666,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 594.7187248,
- hasRDI: true,
- daily: 59.47187248000001,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 377.1,
- hasRDI: true,
- daily: 89.78571428571429,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 4409.9867248,
- hasRDI: true,
- daily: 93.82950478297873,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 11.907705887999999,
- hasRDI: true,
- daily: 66.15392159999999,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 7.4170300000000005,
- hasRDI: true,
- daily: 67.42754545454547,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2060.382,
- hasRDI: true,
- daily: 294.34028571428576,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 638.62,
- hasRDI: true,
- daily: 70.95777777777778,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 186.86249999999998,
- hasRDI: true,
- daily: 207.625,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.588255,
- hasRDI: true,
- daily: 49.02125,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.719265,
- hasRDI: true,
- daily: 55.32807692307693,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 29.813482,
- hasRDI: true,
- daily: 186.3342625,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.596155,
- hasRDI: true,
- daily: 199.70423076923075,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 412.944,
- hasRDI: true,
- daily: 103.236,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 412.944,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 11.392000000000001,
- hasRDI: true,
- daily: 474.6666666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 14.040000000000003,
- hasRDI: true,
- daily: 93.60000000000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 19.274850880000002,
- hasRDI: true,
- daily: 128.4990058666667,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 266.95013296,
- hasRDI: true,
- daily: 222.45844413333333,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1638.8312899999996,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/1eaf58bbc25d7e627aa57ea14e038055?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_06da4c0d8b1cabca809b4a9a6ad1e5ef',
- label: 'Baked Gefilte Fish',
- image: 'https://www.edamam.com/web-img/30b/30bc8ba581e8df430cff2a22c5e32abf.jpg',
- source: 'Epicurious',
- url: 'https://www.epicurious.com/recipes/food/views/baked-gefilte-fish-51154400',
- shareAs:
- 'http://www.edamam.com/recipe/baked-gefilte-fish-06da4c0d8b1cabca809b4a9a6ad1e5ef/fish',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Dairy-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 1/2 pounds rockfish fillet',
- '1/2 pound pike fillet',
- '1/2 pound flounder fillet',
- '8 cups fish stock, preferably homemade',
- '3/4 cup matzo meal',
- '4 large eggs, lightly beaten',
- '2 tablespoons sugar',
- '1 tablespoon chopped fresh thyme leaves',
- '2 tablespoons chopped fresh parsley',
- '1 teaspoon freshly grated lemon zest',
- '2 1/2 teaspoons salt',
- '1/8 teaspoon freshly ground black pepper',
- 'Boiled Carrots with Prepared Horseradish for serving',
- 'Vegetable stock or water can be used instead of fish stock.',
- ],
- ingredients: [
- {
- text: '1 1/2 pounds rockfish fillet',
- weight: 680.388555,
- foodCategory: 'seafood',
- foodId: 'food_aqoqlhtb7ntegebr9nr74autpr3m',
- image: 'https://www.edamam.com/food-img/28c/28c25f526318336b06586c40fa82b618.jpg',
- },
- {
- text: '1/2 pound pike fillet',
- weight: 226.796185,
- foodCategory: 'seafood',
- foodId: 'food_bvnnd03br3vl93bc7pbg6bnmohib',
- image: 'https://www.edamam.com/food-img/d37/d37ff6013651a187e9d095346c347d56.jpg',
- },
- {
- text: '1/2 pound flounder fillet',
- weight: 226.796185,
- foodCategory: 'seafood',
- foodId: 'food_aa1htwzathrzkzbmybiqgajtgbyz',
- image: 'https://www.edamam.com/food-img/90a/90a1ec5eb03e114e7cbef1d05df3f8af.jpg',
- },
- {
- text: '8 cups fish stock, preferably homemade',
- weight: 1864,
- foodCategory: 'canned soup',
- foodId: 'food_a00wj3maedk41kbwmbl4hb3s5gua',
- image: 'https://www.edamam.com/food-img/e07/e07d7b7a8320da9f235be9d663b7a9f4.jpg',
- },
- {
- text: '3/4 cup matzo meal',
- weight: 41.25,
- foodCategory: 'crackers',
- foodId: 'food_a7qwjpbarote7sbjmkrfiaovtoo3',
- image: 'https://www.edamam.com/food-img/656/656d9f10022c99adde7b67b03b5b17b2.jpg',
- },
- {
- text: '4 large eggs, lightly beaten',
- weight: 200,
- foodCategory: 'Eggs',
- foodId: 'food_bhpradua77pk16aipcvzeayg732r',
- image: 'https://www.edamam.com/food-img/a7e/a7ec7c337cb47c6550b3b118e357f077.jpg',
- },
- {
- text: '2 tablespoons sugar',
- weight: 24.9999999995774,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '1 tablespoon chopped fresh thyme leaves',
- weight: 2.3999999998376933,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b3o3cj7a5gskecb0ufphtadnbfqb',
- image: 'https://www.edamam.com/food-img/3e7/3e7cf3c8d767a90b906447f5e74059f7.jpg',
- },
- {
- text: '2 tablespoons chopped fresh parsley',
- weight: 7.6,
- foodCategory: 'vegetables',
- foodId: 'food_b244pqdazw24zobr5vqu2bf0uid8',
- image: 'https://www.edamam.com/food-img/46a/46a132e96626d7989b4d6ed8c91f4da0.jpg',
- },
- {
- text: '1 teaspoon freshly grated lemon zest',
- weight: 2,
- foodCategory: 'fruit',
- foodId: 'food_bpg66j3a5vjuuga36uiiyaqeazpd',
- image: 'https://www.edamam.com/food-img/540/5405605c8e9b284243f06c0b1587ab6f.jpg',
- },
- {
- text: '2 1/2 teaspoons salt',
- weight: 15,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1/8 teaspoon freshly ground black pepper',
- weight: 0.2875,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: 'Boiled Carrots with Prepared Horseradish for serving',
- weight: 0,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bt10wq1burha64az05cdka9pweff',
- image: 'https://www.edamam.com/food-img/cc8/cc83e12eb36bdcc3015201c1cfac8656.jpg',
- },
- {
- text: 'Vegetable stock or water can be used instead of fish stock.',
- weight: 440.62500000000006,
- foodCategory: 'canned soup',
- foodId: 'food_axnge37bb3pfgua5u0iz9agn86ay',
- image: null,
- },
- ],
- calories: 1854.8078560482006,
- totalWeight: 3723.3213312363664,
- totalTime: 0,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1854.8078560482006,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 51.07291896449727,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 14.081008962349243,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.23702529135,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 16.29377243539987,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 11.260253534399135,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 68.1729862495378,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 2.109037499977277,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 29.70477749957825,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 24.949999999578246,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 268.26396631549096,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1399.93727985,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 8644.14269196764,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 591.5342225462068,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 465.8529827121099,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 6942.50598544796,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 11.354452543553405,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 8.702042093233972,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 3926.793662449828,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 492.64798454961374,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 18.394399999740145,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.6826902278499225,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 4.156856730849155,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 47.87403082514704,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.0198177737994345,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 257.827581949927,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 257.827581949927,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 31.197721505,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 36.20505827,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 9.236754763500002,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 126.06118368499999,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 3304.522463295368,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 92.74039280241003,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 78.57372148384195,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 70.40504481174621,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 22.724328749845935,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 8.436149999909109,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 536.5279326309819,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 466.64575995,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 360.1726121653183,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 59.15342225462068,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 110.91737683621663,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 147.7128933074034,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 63.080291908630024,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 79.10947357485429,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 560.9705232071183,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 54.738664949957084,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 20.438222221933493,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 140.2241856541602,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 319.7582100653196,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 299.212692657169,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 232.29367490764878,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 64.45689548748175,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1299.9050627083334,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 241.36705513333337,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 61.57836509000002,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 105.05098640416666,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 51.07291896449727,
- hasRDI: true,
- daily: 78.57372148384195,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 14.081008962349243,
- hasRDI: true,
- daily: 70.40504481174621,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.23702529135,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 16.29377243539987,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 11.260253534399135,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 68.1729862495378,
- hasRDI: true,
- daily: 22.724328749845935,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 66.06394874956052,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 2.109037499977277,
- hasRDI: true,
- daily: 8.436149999909109,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 29.70477749957825,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 24.949999999578246,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 268.26396631549096,
- hasRDI: true,
- daily: 536.5279326309819,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1399.93727985,
- hasRDI: true,
- daily: 466.64575995,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 8644.14269196764,
- hasRDI: true,
- daily: 360.1726121653183,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 591.5342225462068,
- hasRDI: true,
- daily: 59.15342225462068,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 465.8529827121099,
- hasRDI: true,
- daily: 110.91737683621663,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 6942.50598544796,
- hasRDI: true,
- daily: 147.7128933074034,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 11.354452543553405,
- hasRDI: true,
- daily: 63.080291908630024,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 8.702042093233972,
- hasRDI: true,
- daily: 79.10947357485429,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 3926.793662449828,
- hasRDI: true,
- daily: 560.9705232071183,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 492.64798454961374,
- hasRDI: true,
- daily: 54.738664949957084,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 18.394399999740145,
- hasRDI: true,
- daily: 20.438222221933493,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.6826902278499225,
- hasRDI: true,
- daily: 140.2241856541602,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 4.156856730849155,
- hasRDI: true,
- daily: 319.7582100653196,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 47.87403082514704,
- hasRDI: true,
- daily: 299.212692657169,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.0198177737994345,
- hasRDI: true,
- daily: 232.29367490764878,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 257.827581949927,
- hasRDI: true,
- daily: 64.45689548748175,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 257.827581949927,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 31.197721505,
- hasRDI: true,
- daily: 1299.9050627083334,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 36.20505827,
- hasRDI: true,
- daily: 241.36705513333337,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 9.236754763500002,
- hasRDI: true,
- daily: 61.57836509000002,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 126.06118368499999,
- hasRDI: true,
- daily: 105.05098640416666,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 3304.522463295368,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/06da4c0d8b1cabca809b4a9a6ad1e5ef?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_153422abe8bef3f0a7ca1856a26357d6',
- label: 'Gefilte Fish',
- image: 'https://www.edamam.com/web-img/f47/f474b766365ea7d1a1741632916cafdc.jpg',
- source: 'Cookstr',
- url: 'http://www.cookstr.com/recipes/gefilte-fish-sharon-lebewohl',
- shareAs: 'http://www.edamam.com/recipe/gefilte-fish-153422abe8bef3f0a7ca1856a26357d6/fish',
- yield: 12,
- dietLabels: [],
- healthLabels: [
- 'Pescatarian',
- 'Dairy-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['FODMAP'],
- ingredientLines: [
- 'One 1 ½-pound fillet of whitefish and one ½-pound fillet of carp or pike (at fish store, ask for whole fish, filleted and skinned. Retain the heads and bones. Many stores will also grind the fish for you)',
- '2 large onions (about 2 cups when grated; don’t tamp it down)',
- '1 stalk celery',
- '½ medium carrot',
- '6 eggs, beaten',
- '4 teaspoons sugar',
- '2 ½ teaspoons salt',
- '3/8 teaspoon pepper',
- '¾ cup corn oil',
- '1 cup matzo meal',
- 'Heads and bones from fish',
- '4 medium onions, peeled and quartered',
- '2 stalks celery, trimmed and chopped into 3-inch pieces',
- '2 medium carrots, peeled',
- ],
- ingredients: [
- {
- text: 'One 1 ½-pound fillet of whitefish and one ½-pound fillet of carp or pike (at fish store, ask for whole fish, filleted and skinned. Retain the heads and bones. Many stores will also grind the fish for you)',
- weight: 680.388555,
- foodCategory: 'seafood',
- foodId: 'food_bb1pfncbc3in4oah7evxxbqm5jto',
- image: 'https://www.edamam.com/food-img/e1d/e1d5bd23d0f91c83654ca8dff839e658.jpg',
- },
- {
- text: 'One 1 ½-pound fillet of whitefish and one ½-pound fillet of carp or pike (at fish store, ask for whole fish, filleted and skinned. Retain the heads and bones. Many stores will also grind the fish for you)',
- weight: 226.796185,
- foodCategory: 'seafood',
- foodId: 'food_bix81n0bxzg81cav7eoccb0w7826',
- image: 'https://www.edamam.com/food-img/e59/e59950f1e05a1d0555a38f2e42f8002c.jpg',
- },
- {
- text: '2 large onions (about 2 cups when grated; don’t tamp it down)',
- weight: 300,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1 stalk celery',
- weight: 40,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- {
- text: '½ medium carrot',
- weight: 30.5,
- foodCategory: 'vegetables',
- foodId: 'food_ai215e5b85pdh5ajd4aafa3w2zm8',
- image: 'https://www.edamam.com/food-img/121/121e33fce0bb9546ed7d060b6c114e29.jpg',
- },
- {
- text: '6 eggs, beaten',
- weight: 258,
- foodCategory: 'Eggs',
- foodId: 'food_bhpradua77pk16aipcvzeayg732r',
- image: 'https://www.edamam.com/food-img/a7e/a7ec7c337cb47c6550b3b118e357f077.jpg',
- },
- {
- text: '4 teaspoons sugar',
- weight: 16.8,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '2 ½ teaspoons salt',
- weight: 15,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '3/8 teaspoon pepper',
- weight: 1.0875,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '¾ cup corn oil',
- weight: 163.5,
- foodCategory: 'Oils',
- foodId: 'food_a95yektamj1kj1boxuadmae6p9l4',
- image: 'https://www.edamam.com/food-img/cd4/cd4ea698cb19a1eb94569a09121dbbd2.jpg',
- },
- {
- text: '1 cup matzo meal',
- weight: 55,
- foodCategory: 'crackers',
- foodId: 'food_a7qwjpbarote7sbjmkrfiaovtoo3',
- image: 'https://www.edamam.com/food-img/656/656d9f10022c99adde7b67b03b5b17b2.jpg',
- },
- {
- text: 'Heads and bones from fish',
- weight: 0,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: 'Heads and bones from fish',
- weight: 0,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: '4 medium onions, peeled and quartered',
- weight: 440,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '2 stalks celery, trimmed and chopped into 3-inch pieces',
- weight: 80,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- {
- text: '2 medium carrots, peeled',
- weight: 122,
- foodCategory: 'vegetables',
- foodId: 'food_ai215e5b85pdh5ajd4aafa3w2zm8',
- image: 'https://www.edamam.com/food-img/121/121e33fce0bb9546ed7d060b6c114e29.jpg',
- },
- ],
- calories: 3682.5007870000004,
- totalWeight: 2425.8328517936307,
- totalTime: 0.5,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3682.5007870000004,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 244.35554071500002,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 41.56964888705001,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.09804,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 77.4559988198,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 110.69732835834999,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 152.67419625000002,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 20.6951375,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 58.09996,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 16.7664,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 217.4352379305,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1483.6591873500001,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 5613.876712675201,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 520.9496076804713,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 442.48634791793626,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 5225.83273934349,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 13.442705772418979,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 15.60101209429363,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 3704.5753717499997,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1733.28028165,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 71.10623896000001,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.9287952342499999,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.7101525232499997,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 8.807462559000001,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.1231773764999997,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 377.58930275000006,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 377.58930275000006,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 5.7661816305,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 61.17865769500001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 29.041125965500004,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 64.302533685,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1775.9576705370873,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 184.12503935,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 375.9316011,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 207.84824443525002,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 50.89139875000001,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 82.78055,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 434.870475861,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 494.55306245,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 233.9115296948,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 52.09496076804713,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 105.3538923614134,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 111.18793062432958,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 74.68169873566099,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 141.82738267539665,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 529.2250531071428,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 192.5866979611111,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 79.00693217777778,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 160.7329361875,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 208.47327101923074,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 55.04664099375,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 163.32133665384612,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 94.39732568750001,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 240.25756793750003,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 407.8577179666667,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 193.6075064366667,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 53.5854447375,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 244.35554071500002,
- hasRDI: true,
- daily: 375.9316011,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 41.56964888705001,
- hasRDI: true,
- daily: 207.84824443525002,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.09804,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 77.4559988198,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 110.69732835834999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 152.67419625000002,
- hasRDI: true,
- daily: 50.89139875000001,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 131.97905875000004,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 20.6951375,
- hasRDI: true,
- daily: 82.78055,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 58.09996,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 16.7664,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 217.4352379305,
- hasRDI: true,
- daily: 434.870475861,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1483.6591873500001,
- hasRDI: true,
- daily: 494.55306245,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 5613.876712675201,
- hasRDI: true,
- daily: 233.9115296948,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 520.9496076804713,
- hasRDI: true,
- daily: 52.09496076804713,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 442.48634791793626,
- hasRDI: true,
- daily: 105.3538923614134,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 5225.83273934349,
- hasRDI: true,
- daily: 111.18793062432958,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 13.442705772418979,
- hasRDI: true,
- daily: 74.68169873566099,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 15.60101209429363,
- hasRDI: true,
- daily: 141.82738267539665,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 3704.5753717499997,
- hasRDI: true,
- daily: 529.2250531071428,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1733.28028165,
- hasRDI: true,
- daily: 192.5866979611111,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 71.10623896000001,
- hasRDI: true,
- daily: 79.00693217777778,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.9287952342499999,
- hasRDI: true,
- daily: 160.7329361875,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.7101525232499997,
- hasRDI: true,
- daily: 208.47327101923074,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 8.807462559000001,
- hasRDI: true,
- daily: 55.04664099375,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.1231773764999997,
- hasRDI: true,
- daily: 163.32133665384612,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 377.58930275000006,
- hasRDI: true,
- daily: 94.39732568750001,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 377.58930275000006,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 5.7661816305,
- hasRDI: true,
- daily: 240.25756793750003,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 61.17865769500001,
- hasRDI: true,
- daily: 407.8577179666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 29.041125965500004,
- hasRDI: true,
- daily: 193.6075064366667,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 64.302533685,
- hasRDI: true,
- daily: 53.5854447375,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1775.9576705370873,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/153422abe8bef3f0a7ca1856a26357d6?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_3f7248b6cc70bfc977bddfa4f5943c72',
- label: 'Caramelised Fish Clay Pot',
- image: 'https://www.edamam.com/web-img/5dc/5dc06862abccac60100757a771b1103c.jpg',
- source: 'Donna Hay',
- url: 'http://www.donnahay.com.au/recipes/onepot/seafood/caramelised-fish-clay-pot',
- shareAs:
- 'http://www.edamam.com/recipe/caramelised-fish-clay-pot-3f7248b6cc70bfc977bddfa4f5943c72/fish',
- yield: 8,
- dietLabels: ['High-Protein'],
- healthLabels: [
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Alcohol-Free',
- ],
- cautions: ['Shellfish', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '½ cup (75g) caster (superfine) sugar',
- '600 g firm white fish fillets, skin on and chopped',
- '600 g clams (vongole), soaked and drained+',
- '1 ½ tablespoon vegetable oil',
- '4 cloves garlic, crushed',
- '4 green onions (scallions), chopped',
- '⅓ cup (80ml) fish sauce',
- '2 long red chillies, sliced',
- '¼ cup mint leaves',
- '¼ cup Vietnamese mint leaves',
- 'lime wedges, to serve',
- ],
- ingredients: [
- {
- text: '½ cup (75g) caster (superfine) sugar',
- weight: 75,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '600 g firm white fish fillets, skin on and chopped',
- weight: 600,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: '600 g clams (vongole), soaked and drained+',
- weight: 600,
- foodCategory: 'seafood',
- foodId: 'food_b12syzgajx227eahiup7wb240d41',
- image: 'https://www.edamam.com/food-img/cdb/cdb6d4a1acc0b81c643ba1a52c5cd95b.jpg',
- },
- {
- text: '1 ½ tablespoon vegetable oil',
- weight: 21,
- foodCategory: 'Oils',
- foodId: 'food_bt1mzi2ah2sfg8bv7no1qai83w8s',
- image: 'https://www.edamam.com/food-img/6e5/6e51a63a6300a8ea1b4c4cc68dfaba33.jpg',
- },
- {
- text: '4 cloves garlic, crushed',
- weight: 12,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '4 green onions (scallions), chopped',
- weight: 60,
- foodCategory: 'vegetables',
- foodId: 'food_bknlkyzbuzo27pb11whr4bttkuy6',
- image: 'https://www.edamam.com/food-img/b89/b89986ed6aa466285bdd99bac34b3c46.jpg',
- },
- {
- text: '⅓ cup (80ml) fish sauce',
- weight: 97.38438538295429,
- foodCategory: 'canned soup',
- foodId: 'food_ahlu6u3ab8bu1wap7cbqua3s1quk',
- image: 'https://www.edamam.com/food-img/7b5/7b58b769d8bf7b79acf12a76b79ea9bc.jpg',
- },
- {
- text: '2 long red chillies, sliced',
- weight: 90,
- foodCategory: 'vegetables',
- foodId: 'food_a6g98mqatzj7vca6ms3bnbzqxf3s',
- image: 'https://www.edamam.com/food-img/469/469213672957a242638e20c27e3e8acd.jpeg',
- },
- {
- text: '¼ cup mint leaves',
- weight: 22.800000000385474,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bxl4xoga4owdkeay51sy8anesxj5',
- image: 'https://www.edamam.com/food-img/7f0/7f01cc4f71c5c6ad31051ed74b9c058b.jpg',
- },
- {
- text: '¼ cup Vietnamese mint leaves',
- weight: 22.800000000385474,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bxl4xoga4owdkeay51sy8anesxj5',
- image: 'https://www.edamam.com/food-img/7f0/7f01cc4f71c5c6ad31051ed74b9c058b.jpg',
- },
- {
- text: 'lime wedges, to serve',
- weight: 8.375,
- foodCategory: 'fruit',
- foodId: 'food_av58muyb8kg92fbk0g8g8aui5knv',
- image: 'https://www.edamam.com/food-img/48a/48a123c9576647c4ada6a41df5eeb22a.jpg',
- },
- ],
- calories: 1697.631034884373,
- totalWeight: 1609.3593853837256,
- totalTime: 0,
- cuisineType: ['french'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1697.631034884373,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 37.889368438543926,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 6.158850031562961,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.25107,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 18.880168937707854,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 7.397151781564526,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 120.96767662800436,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 6.497300000052424,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 84.82432912793952,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 74.85,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 218.53071490040287,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 480,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 11597.98559641597,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 507.6530357162046,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 511.3531744206557,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3090.877529906439,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 21.359068206078554,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 6.355721270774313,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2322.9444069772694,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 709.8308754168833,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 153.3428469270173,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.5075666262465559,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.9078340996696332,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 29.73813883391504,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.1334914161177174,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 331.67603654611617,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 331.67603654611617,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 77.62744504983817,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 18.6,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 12.037025000000002,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 146.65425,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1198.134257692325,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 84.88155174421865,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 58.291336059298345,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 30.794250157814805,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 40.32255887600145,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 25.989200000209692,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 437.0614298008057,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 160,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 483.24939985066544,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 50.765303571620464,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 121.75075581444183,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 65.763351700137,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 118.66149003376975,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 57.779284279766486,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 331.84920099675276,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 78.87009726854258,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 170.38094103001922,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 42.29721885387966,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 69.83339228227948,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 185.863367711969,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 164.1147243167475,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 82.91900913652904,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 3234.4768770765904,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 124.00000000000001,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 80.24683333333334,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 122.21187499999999,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 37.889368438543926,
- hasRDI: true,
- daily: 58.291336059298345,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 6.158850031562961,
- hasRDI: true,
- daily: 30.794250157814805,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.25107,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 18.880168937707854,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 7.397151781564526,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 120.96767662800436,
- hasRDI: true,
- daily: 40.32255887600145,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 114.47037662795194,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 6.497300000052424,
- hasRDI: true,
- daily: 25.989200000209692,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 84.82432912793952,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 74.85,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 218.53071490040287,
- hasRDI: true,
- daily: 437.0614298008057,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 480,
- hasRDI: true,
- daily: 160,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 11597.98559641597,
- hasRDI: true,
- daily: 483.24939985066544,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 507.6530357162046,
- hasRDI: true,
- daily: 50.765303571620464,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 511.3531744206557,
- hasRDI: true,
- daily: 121.75075581444183,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3090.877529906439,
- hasRDI: true,
- daily: 65.763351700137,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 21.359068206078554,
- hasRDI: true,
- daily: 118.66149003376975,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 6.355721270774313,
- hasRDI: true,
- daily: 57.779284279766486,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2322.9444069772694,
- hasRDI: true,
- daily: 331.84920099675276,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 709.8308754168833,
- hasRDI: true,
- daily: 78.87009726854258,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 153.3428469270173,
- hasRDI: true,
- daily: 170.38094103001922,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.5075666262465559,
- hasRDI: true,
- daily: 42.29721885387966,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.9078340996696332,
- hasRDI: true,
- daily: 69.83339228227948,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 29.73813883391504,
- hasRDI: true,
- daily: 185.863367711969,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.1334914161177174,
- hasRDI: true,
- daily: 164.1147243167475,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 331.67603654611617,
- hasRDI: true,
- daily: 82.91900913652904,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 331.67603654611617,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 77.62744504983817,
- hasRDI: true,
- daily: 3234.4768770765904,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 18.6,
- hasRDI: true,
- daily: 124.00000000000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 12.037025000000002,
- hasRDI: true,
- daily: 80.24683333333334,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 146.65425,
- hasRDI: true,
- daily: 122.21187499999999,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1198.134257692325,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/3f7248b6cc70bfc977bddfa4f5943c72?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_ca4b9c788a47825fcad7e5f5cbad716d',
- label: 'Fish Sticks',
- image: 'https://www.edamam.com/web-img/df4/df4b369889556c6c2f9df613b979a730.jpg',
- source: "Elana's Pantry",
- url: 'http://www.elanaspantry.com/fish-sticks/',
- shareAs: 'http://www.edamam.com/recipe/fish-sticks-ca4b9c788a47825fcad7e5f5cbad716d/fish',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Peanut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- ],
- cautions: ['FODMAP'],
- ingredientLines: [
- '1 pound white fish',
- '2 x eggs, whisked',
- '1 cup blanched almond flour',
- '1 tsp Celtic Sea Salt',
- '1/4 cup Olive Oil',
- '1/4 cup grapeseed oil',
- ],
- ingredients: [
- {
- text: '1 pound white fish',
- weight: 453.59237,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: '2 x eggs, whisked',
- weight: 86,
- foodCategory: 'Eggs',
- foodId: 'food_bhpradua77pk16aipcvzeayg732r',
- image: 'https://www.edamam.com/food-img/a7e/a7ec7c337cb47c6550b3b118e357f077.jpg',
- },
- {
- text: '1 cup blanched almond flour',
- weight: 112,
- foodCategory: 'grains',
- foodId: 'food_aquymekalw81cfbcaho71btv3lnt',
- image: 'https://www.edamam.com/food-img/4ce/4ce26863cf14ffeb473cc6f9edcc60f0.jpg',
- },
- {
- text: '1 tsp Celtic Sea Salt',
- weight: 4.854166666912875,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1/4 cup Olive Oil',
- weight: 54,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '1/4 cup grapeseed oil',
- weight: 54.5,
- foodCategory: 'Oils',
- foodId: 'food_br8vwihb5tm7wybd4ppzjaox5089',
- image: 'https://www.edamam.com/food-img/88b/88bb3399c7bf214d2bce6bd86780eaf2.jpg',
- },
- ],
- calories: 2173.1046752,
- totalWeight: 763.7213156942763,
- totalTime: 0,
- cuisineType: ['mexican'],
- mealType: ['lunch/dinner'],
- dishType: ['sandwiches'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2173.1046752,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 180.34487029000002,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 21.8941953645,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.03268,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 53.57821000260001,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 47.06792030310001,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 21.944,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 11.592,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 4.182200000000001,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 126.93734789599999,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 546.716185,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1767.5796045876002,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 173.33018396662632,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 132.82622935694278,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2305.0328730555425,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 5.569092792791113,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.6098837666942765,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1473.1742290000002,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 137.6,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.22037287170000003,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.6787831931000001,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 17.7682102011,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.8810196394000002,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 149.28216880000002,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 149.28216880000002,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 7.932159446000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 15.781363470000002,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 26.162369480000002,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 39.11629318,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 419.66118038738864,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 108.65523376,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 277.45364660000007,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 109.4709768225,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 7.314666666666667,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 46.368,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 253.87469579199998,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 182.2387283333333,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 73.64915019115001,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 17.33301839666263,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 31.625292704033992,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 49.043252618203034,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 30.93940440439507,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 23.726216060857055,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 210.4534612857143,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 15.28888888888889,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 18.364405975000004,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 52.214091776923084,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 111.051313756875,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 67.7707414923077,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 37.320542200000006,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 330.50664358333336,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 105.2090898,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 174.41579653333335,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 32.59691098333333,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 180.34487029000002,
- hasRDI: true,
- daily: 277.45364660000007,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 21.8941953645,
- hasRDI: true,
- daily: 109.4709768225,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.03268,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 53.57821000260001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 47.06792030310001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 21.944,
- hasRDI: true,
- daily: 7.314666666666667,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 10.351999999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 11.592,
- hasRDI: true,
- daily: 46.368,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 4.182200000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 126.93734789599999,
- hasRDI: true,
- daily: 253.87469579199998,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 546.716185,
- hasRDI: true,
- daily: 182.2387283333333,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1767.5796045876002,
- hasRDI: true,
- daily: 73.64915019115001,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 173.33018396662632,
- hasRDI: true,
- daily: 17.33301839666263,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 132.82622935694278,
- hasRDI: true,
- daily: 31.625292704033992,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2305.0328730555425,
- hasRDI: true,
- daily: 49.043252618203034,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 5.569092792791113,
- hasRDI: true,
- daily: 30.93940440439507,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.6098837666942765,
- hasRDI: true,
- daily: 23.726216060857055,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1473.1742290000002,
- hasRDI: true,
- daily: 210.4534612857143,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 137.6,
- hasRDI: true,
- daily: 15.28888888888889,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.22037287170000003,
- hasRDI: true,
- daily: 18.364405975000004,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.6787831931000001,
- hasRDI: true,
- daily: 52.214091776923084,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 17.7682102011,
- hasRDI: true,
- daily: 111.051313756875,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.8810196394000002,
- hasRDI: true,
- daily: 67.7707414923077,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 149.28216880000002,
- hasRDI: true,
- daily: 37.320542200000006,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 149.28216880000002,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 7.932159446000001,
- hasRDI: true,
- daily: 330.50664358333336,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 15.781363470000002,
- hasRDI: true,
- daily: 105.2090898,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 26.162369480000002,
- hasRDI: true,
- daily: 174.41579653333335,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 39.11629318,
- hasRDI: true,
- daily: 32.59691098333333,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 419.66118038738864,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/ca4b9c788a47825fcad7e5f5cbad716d?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_b8d126947d802def1f795016d75297c4',
- label: 'Curry-Crusted Fish',
- image: 'https://www.edamam.com/web-img/5e3/5e367b107d760d0c0be9e409c0ab07dd.jpg',
- source: 'BBC Good Food',
- url: 'http://www.bbcgoodfood.com/recipes/4717/',
- shareAs:
- 'http://www.edamam.com/recipe/curry-crusted-fish-b8d126947d802def1f795016d75297c4/fish',
- yield: 4,
- dietLabels: ['High-Protein', 'Low-Fat'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Pescatarian',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '3 slices bread , about 85g/3oz in total',
- '1 lime',
- '1.0 tbsp Korma curry paste',
- '4 thick white fish fillets',
- ],
- ingredients: [
- {
- text: '3 slices bread , about 85g/3oz in total',
- weight: 87,
- foodCategory: 'bread, rolls and tortillas',
- foodId: 'food_a3049hmbqj5wstaeeb3udaz6uaqv',
- image: 'https://www.edamam.com/food-img/886/886960f6ce6ccec5b9163bacf2996853.jpg',
- },
- {
- text: '1 lime',
- weight: 67,
- foodCategory: 'fruit',
- foodId: 'food_av58muyb8kg92fbk0g8g8aui5knv',
- image: 'https://www.edamam.com/food-img/48a/48a123c9576647c4ada6a41df5eeb22a.jpg',
- },
- {
- text: '1.0 tbsp Korma curry paste',
- weight: 16,
- foodCategory: 'condiments and sauces',
- foodId: 'food_aojdol2are6zg7af2nincbe87jot',
- image: 'https://www.edamam.com/food-img/b6a/b6a9ebae5850f42eca0253827603ef9c.jpg',
- },
- {
- text: '4 thick white fish fillets',
- weight: 464,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- ],
- calories: 716.9749125599999,
- totalWeight: 634,
- totalTime: 0,
- cuisineType: ['south east asian'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 716.9749125599999,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 11.726102052479998,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 3.5231452780799994,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.022619999999999998,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 3.2722975116799997,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 3.3014249792,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 52.189025006399994,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 6.05501741312,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 6.4998607232,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 103.79685228015998,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 233.47194981887998,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 765.6226332639999,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 198.8557002944,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 176.83539840959997,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1690.410594016,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 6.74659198144,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.8363382944,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 947.366934544,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 14.6083559888,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 21.876185592000002,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.59003002512,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.5425564784,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 23.42675931104,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.91561328304,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 209.2706042976,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 179.69060429759998,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 17.4,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 7.33552239232,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 14.383999999999999,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 2.46156715968,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 12.51143552688,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 463.13090268959996,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 35.848745627999996,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 18.04015700381538,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 17.615726390399995,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 17.396341668799998,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 24.220069652480003,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 207.59370456031996,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 77.82398327295999,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 31.900943052666662,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 19.88557002944,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 42.103666288,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 35.966182851404255,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 37.48106656355556,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 25.784893585454544,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 135.33813350628571,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1.623150665422222,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 24.30687288,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 49.169168760000005,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 41.73511372307692,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 146.417245694,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 70.43179100307692,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 52.317651074400004,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 305.64676634666665,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 95.89333333333333,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 16.410447731199998,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 10.4261962724,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 11.726102052479998,
- hasRDI: true,
- daily: 18.04015700381538,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 3.5231452780799994,
- hasRDI: true,
- daily: 17.615726390399995,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.022619999999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 3.2722975116799997,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 3.3014249792,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 52.189025006399994,
- hasRDI: true,
- daily: 17.396341668799998,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 46.134007593279996,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 6.05501741312,
- hasRDI: true,
- daily: 24.220069652480003,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 6.4998607232,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 103.79685228015998,
- hasRDI: true,
- daily: 207.59370456031996,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 233.47194981887998,
- hasRDI: true,
- daily: 77.82398327295999,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 765.6226332639999,
- hasRDI: true,
- daily: 31.900943052666662,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 198.8557002944,
- hasRDI: true,
- daily: 19.88557002944,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 176.83539840959997,
- hasRDI: true,
- daily: 42.103666288,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1690.410594016,
- hasRDI: true,
- daily: 35.966182851404255,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 6.74659198144,
- hasRDI: true,
- daily: 37.48106656355556,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.8363382944,
- hasRDI: true,
- daily: 25.784893585454544,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 947.366934544,
- hasRDI: true,
- daily: 135.33813350628571,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 14.6083559888,
- hasRDI: true,
- daily: 1.623150665422222,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 21.876185592000002,
- hasRDI: true,
- daily: 24.30687288,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.59003002512,
- hasRDI: true,
- daily: 49.169168760000005,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.5425564784,
- hasRDI: true,
- daily: 41.73511372307692,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 23.42675931104,
- hasRDI: true,
- daily: 146.417245694,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.91561328304,
- hasRDI: true,
- daily: 70.43179100307692,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 209.2706042976,
- hasRDI: true,
- daily: 52.317651074400004,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 179.69060429759998,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 17.4,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 7.33552239232,
- hasRDI: true,
- daily: 305.64676634666665,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 14.383999999999999,
- hasRDI: true,
- daily: 95.89333333333333,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 2.46156715968,
- hasRDI: true,
- daily: 16.410447731199998,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 12.51143552688,
- hasRDI: true,
- daily: 10.4261962724,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 463.13090268959996,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/b8d126947d802def1f795016d75297c4?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_d528496e76bd29004497986e90e56c17',
- label: 'Baked Fish from Iceland',
- image: 'https://www.edamam.com/web-img/629/629af16aa679adfe0d67164d442b720f.jpg',
- source: 'The Daily Meal',
- url: 'http://www.thedailymeal.com/recipes/baked-fish-iceland-recipe-0',
- shareAs:
- 'http://www.edamam.com/recipe/baked-fish-from-iceland-d528496e76bd29004497986e90e56c17/fish',
- yield: 6,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Pescatarian',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 Tablespoon butter',
- '6 fish fillets or six cod fish fillets',
- '1 lemon',
- '200 Grams Emmenthal cheese or two hundred grams tilsiter cheese, grated',
- '1 Tablespoon mustard',
- '1 Cup cream',
- '1/2 Cup breadcrumbs',
- ],
- ingredients: [
- {
- text: '1 Tablespoon butter',
- weight: 14.2,
- foodCategory: 'Dairy',
- foodId: 'food_awz3iefajbk1fwahq9logahmgltj',
- image: 'https://www.edamam.com/food-img/713/71397239b670d88c04faa8d05035cab4.jpg',
- },
- {
- text: '6 fish fillets or six cod fish fillets',
- weight: 231,
- foodCategory: 'seafood',
- foodId: 'food_a3z8tuub0gc30kaqthfuibcqz9os',
- image: 'https://www.edamam.com/food-img/d58/d58d0ccfc3a15f1dfb7877f17a068d4d.jpg',
- },
- {
- text: '1 lemon',
- weight: 58,
- foodCategory: 'fruit',
- foodId: 'food_a6uzc62astrxcgbtzyq59b6fncrr',
- image: 'https://www.edamam.com/food-img/70a/70acba3d4c734d7c70ef4efeed85dc8f.jpg',
- },
- {
- text: '200 Grams Emmenthal cheese or two hundred grams tilsiter cheese, grated',
- weight: 200,
- foodCategory: 'Cheese',
- foodId: 'food_bhppgmha1u27voagb8eptbp9g376',
- image: 'https://www.edamam.com/food-img/bcd/bcd94dde1fcde1475b5bf0540f821c5d.jpg',
- },
- {
- text: '1 Tablespoon mustard',
- weight: 15.5624999997369,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a34cdj5b0kyuhfbov30xcb50u4dv',
- image: 'https://www.edamam.com/food-img/e23/e238f2e4cfa6aa1a30f46dc73e7344eb.jpg',
- },
- {
- text: '1 Cup cream',
- weight: 238,
- foodCategory: 'Dairy',
- foodId: 'food_bvhbvd7bwy6a7wamfrmvmbmen1sz',
- image: 'https://www.edamam.com/food-img/484/4848d71f6a14dd5076083f5e17925420.jpg',
- },
- {
- text: '1/2 Cup breadcrumbs',
- weight: 54,
- foodCategory: 'bread, rolls and tortillas',
- foodId: 'food_ata1dxza443wfda7jb4e5b3zwt9p',
- image: 'https://www.edamam.com/food-img/349/349f852497885b9d9c0b195ad0d0db8f.jpg',
- },
- ],
- calories: 2163.791499999842,
- totalWeight: 810.7624999997369,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2163.791499999842,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 172.3211074999912,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 101.85456974999943,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 2.8248766249999764,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 46.38917574999425,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 8.386309749997963,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 54.49081374998467,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 4.676499999989476,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 12.14989499999758,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 102.64983749999016,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 659.9200000000001,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2072.9919999970957,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 1668.7723749998343,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 180.1939999998737,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1497.4729999996,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 4.478796249995764,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 9.377079999998315,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1681.0854999997157,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1630.3861249999868,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 34.5246874999992,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.8555556249995343,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.5248917499998158,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 8.670602124998513,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.8488897499998158,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 174.14537499998158,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 99.08537499998158,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 44.28,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 4.50364,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 5.1579999999999995,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 6.076864999999052,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 18.422874999996317,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 469.8682049997798,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 108.18957499999209,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 265.1093961538326,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 509.27284874999714,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 18.163604583328222,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 18.705999999957903,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 205.2996749999803,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 219.97333333333333,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 86.37466666654566,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 166.87723749998344,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 42.903333333303266,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 31.86112765956596,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 24.882201388865354,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 85.2461818181665,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 240.15507142853085,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 181.15401388888742,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 38.360763888888,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 71.29630208329452,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 117.2993653846012,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 54.19126328124071,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 65.29921153844737,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 43.536343749995396,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 187.65166666666667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 34.38666666666666,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 40.51243333332702,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 15.352395833330265,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 172.3211074999912,
- hasRDI: true,
- daily: 265.1093961538326,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 101.85456974999943,
- hasRDI: true,
- daily: 509.27284874999714,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 2.8248766249999764,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 46.38917574999425,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 8.386309749997963,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 54.49081374998467,
- hasRDI: true,
- daily: 18.163604583328222,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 49.81431374999519,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 4.676499999989476,
- hasRDI: true,
- daily: 18.705999999957903,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 12.14989499999758,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 102.64983749999016,
- hasRDI: true,
- daily: 205.2996749999803,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 659.9200000000001,
- hasRDI: true,
- daily: 219.97333333333333,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2072.9919999970957,
- hasRDI: true,
- daily: 86.37466666654566,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 1668.7723749998343,
- hasRDI: true,
- daily: 166.87723749998344,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 180.1939999998737,
- hasRDI: true,
- daily: 42.903333333303266,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1497.4729999996,
- hasRDI: true,
- daily: 31.86112765956596,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 4.478796249995764,
- hasRDI: true,
- daily: 24.882201388865354,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 9.377079999998315,
- hasRDI: true,
- daily: 85.2461818181665,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1681.0854999997157,
- hasRDI: true,
- daily: 240.15507142853085,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1630.3861249999868,
- hasRDI: true,
- daily: 181.15401388888742,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 34.5246874999992,
- hasRDI: true,
- daily: 38.360763888888,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.8555556249995343,
- hasRDI: true,
- daily: 71.29630208329452,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.5248917499998158,
- hasRDI: true,
- daily: 117.2993653846012,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 8.670602124998513,
- hasRDI: true,
- daily: 54.19126328124071,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.8488897499998158,
- hasRDI: true,
- daily: 65.29921153844737,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 174.14537499998158,
- hasRDI: true,
- daily: 43.536343749995396,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 99.08537499998158,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 44.28,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 4.50364,
- hasRDI: true,
- daily: 187.65166666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 5.1579999999999995,
- hasRDI: true,
- daily: 34.38666666666666,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 6.076864999999052,
- hasRDI: true,
- daily: 40.51243333332702,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 18.422874999996317,
- hasRDI: true,
- daily: 15.352395833330265,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 469.8682049997798,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/d528496e76bd29004497986e90e56c17?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_a78de61b0b31e1f0ca8753899987bdf3',
- label: 'Fried Rock Fish',
- image: 'https://www.edamam.com/web-img/df4/df41dee7354c94eea623a5bf863026b4.jpeg',
- source: 'Food Network',
- url: 'https://www.foodnetwork.com/recipes/fried-rock-fish-recipe-2013184',
- shareAs:
- 'http://www.edamam.com/recipe/fried-rock-fish-a78de61b0b31e1f0ca8753899987bdf3/fish',
- yield: 2,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Pescatarian',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- 'Immuno-Supportive',
- ],
- cautions: ['FODMAP'],
- ingredientLines: [
- '1/2 cup flour',
- 'Salt and pepper',
- 'Old Bay spice seasoning',
- '2 beaten eggs',
- '2 Rock fish',
- '1/4 stick butter',
- '1/2 cup oil',
- ],
- ingredients: [
- {
- text: '1/2 cup flour',
- weight: 62.5,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: 'Salt and pepper',
- weight: 3.6345,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Salt and pepper',
- weight: 1.81725,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: 'Old Bay spice seasoning',
- weight: 6.0575,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_aj7w3xab0epj7cbgkbkpwadysovd',
- image: 'https://www.edamam.com/food-img/c23/c23e20823b442067307aa436969358f1.jpg',
- },
- {
- text: '2 beaten eggs',
- weight: 86,
- foodCategory: 'Eggs',
- foodId: 'food_bhpradua77pk16aipcvzeayg732r',
- image: 'https://www.edamam.com/food-img/a7e/a7ec7c337cb47c6550b3b118e357f077.jpg',
- },
- {
- text: '2 Rock fish',
- weight: 320,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: '1/4 stick butter',
- weight: 28.25,
- foodCategory: 'Dairy',
- foodId: 'food_awz3iefajbk1fwahq9logahmgltj',
- image: 'https://www.edamam.com/food-img/713/71397239b670d88c04faa8d05035cab4.jpg',
- },
- {
- text: '1/2 cup oil',
- weight: 109,
- foodCategory: 'Oils',
- foodId: 'food_bk9p9aaavhvoq4bqsnprobpsiuxs',
- image: 'https://www.edamam.com/food-img/07e/07e106ab3536d57428e5c46d009038f8.jpg',
- },
- ],
- calories: 1519.882588,
- totalWeight: 579.3250798479888,
- totalTime: 0,
- cuisineType: ['french'],
- mealType: ['lunch/dinner'],
- dishType: ['sandwiches'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1519.882588,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 109.66143459999999,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 24.696185059375,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.243120480625,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 56.378368382000005,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 24.32087232525,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 53.465145625000005,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 2.83176175,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 0.6245654,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 82.523701525,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 540.6575,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1340.9325502335,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 165.34586366351732,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 127.73828692347989,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1224.535467887839,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 6.357558984748363,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.8428547173479886,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 801.78958,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 339.31655750000004,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.7269000000000001,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.25996693,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.644065875,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 13.547893917500001,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.7781946975000001,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 142.9857825,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 142.9857825,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 5.869425000000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 12.063750000000002,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 15.5462006575,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 110.00193253749998,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 328.658830484696,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 75.99412939999999,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 168.70989938461537,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 123.48092529687501,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 17.821715208333334,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 11.327047,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 165.04740305000004,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 180.21916666666667,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 55.8721895930625,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 16.53458636635173,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 30.41387783892378,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 26.05394612527317,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 35.3197721374909,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 25.844133794072626,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 114.54136857142856,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 37.701839722222225,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.8076666666666668,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 21.663910833333333,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 49.54352884615385,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 84.674336984375,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 59.86113057692308,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 35.746445625,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 244.55937500000005,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 80.42500000000001,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 103.64133771666667,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 91.66827711458332,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 109.66143459999999,
- hasRDI: true,
- daily: 168.70989938461537,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 24.696185059375,
- hasRDI: true,
- daily: 123.48092529687501,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.243120480625,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 56.378368382000005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 24.32087232525,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 53.465145625000005,
- hasRDI: true,
- daily: 17.821715208333334,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 50.63338387500001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 2.83176175,
- hasRDI: true,
- daily: 11.327047,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 0.6245654,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 82.523701525,
- hasRDI: true,
- daily: 165.04740305000004,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 540.6575,
- hasRDI: true,
- daily: 180.21916666666667,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1340.9325502335,
- hasRDI: true,
- daily: 55.8721895930625,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 165.34586366351732,
- hasRDI: true,
- daily: 16.53458636635173,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 127.73828692347989,
- hasRDI: true,
- daily: 30.41387783892378,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1224.535467887839,
- hasRDI: true,
- daily: 26.05394612527317,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 6.357558984748363,
- hasRDI: true,
- daily: 35.3197721374909,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.8428547173479886,
- hasRDI: true,
- daily: 25.844133794072626,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 801.78958,
- hasRDI: true,
- daily: 114.54136857142856,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 339.31655750000004,
- hasRDI: true,
- daily: 37.701839722222225,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0.7269000000000001,
- hasRDI: true,
- daily: 0.8076666666666668,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.25996693,
- hasRDI: true,
- daily: 21.663910833333333,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.644065875,
- hasRDI: true,
- daily: 49.54352884615385,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 13.547893917500001,
- hasRDI: true,
- daily: 84.674336984375,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.7781946975000001,
- hasRDI: true,
- daily: 59.86113057692308,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 142.9857825,
- hasRDI: true,
- daily: 35.746445625,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 142.9857825,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 5.869425000000001,
- hasRDI: true,
- daily: 244.55937500000005,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 12.063750000000002,
- hasRDI: true,
- daily: 80.42500000000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 15.5462006575,
- hasRDI: true,
- daily: 103.64133771666667,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 110.00193253749998,
- hasRDI: true,
- daily: 91.66827711458332,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 328.658830484696,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/a78de61b0b31e1f0ca8753899987bdf3?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_22890985b1fb5e6529f40a2481d94618',
- label: 'Moroccan Fish',
- image: 'https://www.edamam.com/web-img/bc9/bc95da578b0d39b2dbfb0cb052ff7cd6.jpg',
- source: 'Delish',
- url: 'http://www.delish.com/cooking/recipe-ideas/recipes/a34193/moroccan-fish-recipe-122416/',
- shareAs: 'http://www.edamam.com/recipe/moroccan-fish-22890985b1fb5e6529f40a2481d94618/fish',
- yield: 4,
- dietLabels: ['High-Protein', 'Low-Carb', 'Low-Sodium'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Pescatarian',
- 'Mediterranean',
- 'DASH',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 lb. frozen fish fillets or steaks',
- '4 tsp. olive oil',
- '¼ tsp. Pepper',
- '1 c. chopped onion',
- '2 tsp. minced garlic',
- '½ tsp. ground cumin',
- '¼ tsp. cinnamon',
- '1 can diced tomatoes',
- '¼ c. pitted Kalamata or other olives',
- ],
- ingredients: [
- {
- text: '1 lb. frozen fish fillets or steaks',
- weight: 453.59237,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: '4 tsp. olive oil',
- weight: 18,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '¼ tsp. Pepper',
- weight: 0.725,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1 c. chopped onion',
- weight: 160,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '2 tsp. minced garlic',
- weight: 5.6,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '½ tsp. ground cumin',
- weight: 1.05,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a8jjbx4biqndasapojdb5by3e92e',
- image: 'https://www.edamam.com/food-img/07e/07e2a4eb77ce46591033846504817d35.jpg',
- },
- {
- text: '¼ tsp. cinnamon',
- weight: 0.65,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_atjxtznauw5zabaixm24xa787onz',
- image: 'https://www.edamam.com/food-img/d4d/d4daa18b92c596a1c99c08537c38e65b.jpg',
- },
- {
- text: '1 can diced tomatoes',
- weight: 190,
- foodCategory: 'canned vegetables',
- foodId: 'food_a0edr25b8gjzxdbxcvus4blkd8b8',
- image: 'https://www.edamam.com/food-img/645/6455f54947348b60ec6557fcc0ef5121.jpeg',
- },
- {
- text: '¼ c. pitted Kalamata or other olives',
- weight: 33.600000000568,
- foodCategory: 'canned fruit',
- foodId: 'food_bt7u5w5a064gusa46msxfb38ag06',
- image: 'https://www.edamam.com/food-img/822/8221f2141e8dafd469414b20777735ca.jpg',
- },
- ],
- calories: 743.3154252006533,
- totalWeight: 863.2173700005679,
- totalTime: 20,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 743.3154252006533,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 30.228080290060664,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 5.779631364508038,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 18.294030752644808,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 4.121927303105175,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 26.943712500035563,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 8.161625000018176,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 11.72737,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 95.26901539600479,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 226.79618500000004,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 511.51403240417494,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 204.24348700049987,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 165.6866899000227,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2022.883707400046,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 6.085174772018744,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.20665732100125,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 866.1840290000172,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 49.4852500001136,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 37.935150000005116,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.371800871700017,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.4446281931,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 19.358766451100212,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.2176078894000513,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 154.89741879999997,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 154.89741879999997,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 7.166759446000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 14.061363470000002,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 6.1668344800093715,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 25.34821818000795,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 707.1667774964544,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 37.16577126003266,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 46.50473890778564,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 28.898156822540194,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 8.981237500011854,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 32.646500000072706,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 190.5380307920096,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 75.59872833333334,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 21.313084683507288,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 20.42434870004999,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 39.44921188095779,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 43.04007888085204,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 33.806526511215246,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 20.06052110001136,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 123.74057557143102,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 5.498361111123733,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 42.15016666667235,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 114.31673930833475,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 34.2021687,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 120.99229031937632,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 93.66214533846548,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 38.72435469999999,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 298.6149769166667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 93.74242313333335,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 41.112229866729145,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 21.12351515000663,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 30.228080290060664,
- hasRDI: true,
- daily: 46.50473890778564,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 5.779631364508038,
- hasRDI: true,
- daily: 28.898156822540194,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 18.294030752644808,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 4.121927303105175,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 26.943712500035563,
- hasRDI: true,
- daily: 8.981237500011854,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 18.782087500017386,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 8.161625000018176,
- hasRDI: true,
- daily: 32.646500000072706,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 11.72737,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 95.26901539600479,
- hasRDI: true,
- daily: 190.5380307920096,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 226.79618500000004,
- hasRDI: true,
- daily: 75.59872833333334,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 511.51403240417494,
- hasRDI: true,
- daily: 21.313084683507288,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 204.24348700049987,
- hasRDI: true,
- daily: 20.42434870004999,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 165.6866899000227,
- hasRDI: true,
- daily: 39.44921188095779,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2022.883707400046,
- hasRDI: true,
- daily: 43.04007888085204,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 6.085174772018744,
- hasRDI: true,
- daily: 33.806526511215246,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.20665732100125,
- hasRDI: true,
- daily: 20.06052110001136,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 866.1840290000172,
- hasRDI: true,
- daily: 123.74057557143102,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 49.4852500001136,
- hasRDI: true,
- daily: 5.498361111123733,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 37.935150000005116,
- hasRDI: true,
- daily: 42.15016666667235,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.371800871700017,
- hasRDI: true,
- daily: 114.31673930833475,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.4446281931,
- hasRDI: true,
- daily: 34.2021687,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 19.358766451100212,
- hasRDI: true,
- daily: 120.99229031937632,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.2176078894000513,
- hasRDI: true,
- daily: 93.66214533846548,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 154.89741879999997,
- hasRDI: true,
- daily: 38.72435469999999,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 154.89741879999997,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 7.166759446000001,
- hasRDI: true,
- daily: 298.6149769166667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 14.061363470000002,
- hasRDI: true,
- daily: 93.74242313333335,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 6.1668344800093715,
- hasRDI: true,
- daily: 41.112229866729145,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 25.34821818000795,
- hasRDI: true,
- daily: 21.12351515000663,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 707.1667774964544,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/22890985b1fb5e6529f40a2481d94618?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_a7f3df990d986c3f48a1c0a6c557f37a',
- label: 'Simple fish stew',
- image: 'https://www.edamam.com/web-img/096/096d48eb86c2bd75ed8adf4d68c5be54.jpg',
- source: 'The Stone Soup',
- url: 'http://thestonesoup.com/blog/2012/06/the-secret-to-eating-more-fish-even-when-you-live-far-form-the-sea/',
- shareAs:
- 'http://www.edamam.com/recipe/simple-fish-stew-a7f3df990d986c3f48a1c0a6c557f37a/fish',
- yield: 3,
- dietLabels: ['High-Protein', 'High-Fiber'],
- healthLabels: [
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '2 onions, peeled & chopped',
- '1 large bulb fennel,trimmed & finely sliced crosswise, green fronds reserved',
- '1 jar commercial tomato pasta sauce or tomato puree (about 1 1/2cups)',
- 'Large pinch saffron threads',
- '500g (1lb) white fish fillets such as flathead, chopped',
- ],
- ingredients: [
- {
- text: '2 onions, peeled & chopped',
- weight: 250,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1 large bulb fennel,trimmed & finely sliced crosswise, green fronds reserved',
- weight: 292.5,
- foodCategory: 'vegetables',
- foodId: 'food_a4sdbkob8ixokpb07a42dbt3typw',
- image: 'https://www.edamam.com/food-img/038/038c19f86af781e925c97991e17b90ed.jpeg',
- },
- {
- text: '1 jar commercial tomato pasta sauce or tomato puree (about 1 1/2cups)',
- weight: 396,
- foodCategory: 'canned soup',
- foodId: 'food_a7hv5mybkkrs3ub78yhtxafs67bu',
- image: 'https://www.edamam.com/food-img/08b/08b3bb49c006689a458a8b9c4a4e0057.jpg',
- },
- {
- text: 'Large pinch saffron threads',
- weight: 0.05468750007026976,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_atxgj9uaraga9oa96ntw4bu7o2sy',
- image: 'https://www.edamam.com/food-img/b7c/b7c71604d7d5e7f54ac461079e6fe175.jpg',
- },
- {
- text: '500g (1lb) white fish fillets such as flathead, chopped',
- weight: 500,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- ],
- calories: 864.8845312502178,
- totalWeight: 1438.5546875000703,
- totalTime: 312,
- cuisineType: ['french'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 864.8845312502178,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 15.19899921875411,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 3.9673173437511142,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.0198,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 4.214554609375302,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 4.364635390626453,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 74.55704921879594,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 20.447632812502743,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 43.87525000000001,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 112.36685078125802,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 257.92,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2081.420937500104,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 357.805703125078,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 281.1493750001855,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 4350.132812501211,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 8.555120312507801,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 3.452596093750766,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1203.527812500177,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 271.094765625019,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 61.56418750005678,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.4443528906250808,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.7178060156251876,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 37.18911843750102,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.9331073437507098,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 298.00585937506537,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 298.00585937506537,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 7.9,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 15.5,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 13.250499999999999,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 246.734,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1223.1101578125085,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 43.24422656251089,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 23.38307572116017,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 19.836586718755573,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 24.852349739598647,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 81.79053125001097,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 224.73370156251605,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 85.97333333333333,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 86.72587239583767,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 35.7805703125078,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 66.94032738099655,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 92.55601728725982,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 47.5284461805989,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 31.387237215916056,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 171.93254464288245,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 30.121640625002115,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 68.40465277784087,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 37.02940755209007,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 55.215847355783666,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 232.4319902343814,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 148.70056490390076,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 74.50146484376634,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 329.1666666666667,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 103.33333333333333,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 88.33666666666666,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 205.61166666666668,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 15.19899921875411,
- hasRDI: true,
- daily: 23.38307572116017,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 3.9673173437511142,
- hasRDI: true,
- daily: 19.836586718755573,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.0198,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 4.214554609375302,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 4.364635390626453,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 74.55704921879594,
- hasRDI: true,
- daily: 24.852349739598647,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 54.10941640629319,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 20.447632812502743,
- hasRDI: true,
- daily: 81.79053125001097,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 43.87525000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 112.36685078125802,
- hasRDI: true,
- daily: 224.73370156251605,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 257.92,
- hasRDI: true,
- daily: 85.97333333333333,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2081.420937500104,
- hasRDI: true,
- daily: 86.72587239583767,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 357.805703125078,
- hasRDI: true,
- daily: 35.7805703125078,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 281.1493750001855,
- hasRDI: true,
- daily: 66.94032738099655,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 4350.132812501211,
- hasRDI: true,
- daily: 92.55601728725982,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 8.555120312507801,
- hasRDI: true,
- daily: 47.5284461805989,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 3.452596093750766,
- hasRDI: true,
- daily: 31.387237215916056,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1203.527812500177,
- hasRDI: true,
- daily: 171.93254464288245,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 271.094765625019,
- hasRDI: true,
- daily: 30.121640625002115,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 61.56418750005678,
- hasRDI: true,
- daily: 68.40465277784087,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.4443528906250808,
- hasRDI: true,
- daily: 37.02940755209007,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.7178060156251876,
- hasRDI: true,
- daily: 55.215847355783666,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 37.18911843750102,
- hasRDI: true,
- daily: 232.4319902343814,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.9331073437507098,
- hasRDI: true,
- daily: 148.70056490390076,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 298.00585937506537,
- hasRDI: true,
- daily: 74.50146484376634,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 298.00585937506537,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 7.9,
- hasRDI: true,
- daily: 329.1666666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 15.5,
- hasRDI: true,
- daily: 103.33333333333333,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 13.250499999999999,
- hasRDI: true,
- daily: 88.33666666666666,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 246.734,
- hasRDI: true,
- daily: 205.61166666666668,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1223.1101578125085,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/a7f3df990d986c3f48a1c0a6c557f37a?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_2b99f00063b585a1345d1cfdc148d51d',
- label: 'Tamarind Fish Curry Recipe',
- image: 'https://www.edamam.com/web-img/dae/dae1e072437351b4e28f9fe24324a45a.jpg',
- source: 'Serious Eats',
- url: 'http://www.seriouseats.com/recipes/2013/09/tamarind-fish-curry-recipe.html',
- shareAs:
- 'http://www.edamam.com/recipe/tamarind-fish-curry-recipe-2b99f00063b585a1345d1cfdc148d51d/fish',
- yield: 2,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Pescatarian',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '4 fillets king fish (or any firm fleshed sea fish) about 6 ounces each',
- '1 teaspoon turmeric powder',
- 'Kosher salt',
- '11/2 tablespoons vegetable oil',
- '3 medium cloves garlic sliced fine',
- '6 curry leaves',
- '1 1/2 teaspoon red chilli powder',
- '1 teaspoon coriander powder',
- '2 teaspoons cumin powder',
- '1 teaspoon toasted and ground fennel seeds',
- '1 tablespoon tamarind soaked in 1 1/2 cup water',
- '2 teaspoons rice flour dissolved in 1/4 cup water',
- ],
- ingredients: [
- {
- text: '4 fillets king fish (or any firm fleshed sea fish) about 6 ounces each',
- weight: 680.388555,
- foodCategory: 'seafood',
- foodId: 'food_ar6pjbvaxqtlqia7jewa4brld7p9',
- image: 'https://www.edamam.com/food-img/717/717cb400eb49626bb7c95cd29292cef4.jpg',
- },
- {
- text: '1 teaspoon turmeric powder',
- weight: 3,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bc3ig84amucgmwba3vixyatnyd9b',
- image: 'https://www.edamam.com/food-img/03e/03eb469286b3caf1ae9c13e4eba13587.jpg',
- },
- {
- text: 'Kosher salt',
- weight: 4.794731330001243,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '11/2 tablespoons vegetable oil',
- weight: 77,
- foodCategory: 'Oils',
- foodId: 'food_bt1mzi2ah2sfg8bv7no1qai83w8s',
- image: 'https://www.edamam.com/food-img/6e5/6e51a63a6300a8ea1b4c4cc68dfaba33.jpg',
- },
- {
- text: '3 medium cloves garlic sliced fine',
- weight: 9,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '6 curry leaves',
- weight: 3.5999999999999996,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_asx39x4ayja4jab6ivj6zayvkblo',
- image: 'https://www.edamam.com/food-img/0f9/0f9f5f95df173e9ffaaff2977bef88f3.jpg',
- },
- {
- text: '1 1/2 teaspoon red chilli powder',
- weight: 4.050000000000001,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_aii2sclb4r123rbfr2ybjasrl3nc',
- image: 'https://www.edamam.com/food-img/e6f/e6f19043caefc23b5feda5520076617e.jpg',
- },
- {
- text: '1 teaspoon coriander powder',
- weight: 1.8,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_afpcy6rb44nx6gbfff63ga2cqksw',
- image: 'https://www.edamam.com/food-img/a90/a901cee0b9028841d258f5d07b5924e7.jpg',
- },
- {
- text: '2 teaspoons cumin powder',
- weight: 4.2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a8jjbx4biqndasapojdb5by3e92e',
- image: 'https://www.edamam.com/food-img/07e/07e2a4eb77ce46591033846504817d35.jpg',
- },
- {
- text: '1 teaspoon toasted and ground fennel seeds',
- weight: 2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a7gzoswb5qrepsa8xcla8bxm5wla',
- image: 'https://www.edamam.com/food-img/a40/a4059150e503052ae5a390af6e666873.jpg',
- },
- {
- text: '1 tablespoon tamarind soaked in 1 1/2 cup water',
- weight: 7.499999999873198,
- foodCategory: 'fruit',
- foodId: 'food_b8wxjbga5zblgbada09f7b61mz7n',
- image: 'https://www.edamam.com/food-img/dde/dded3ea24aeb0014358a92d524065b80.jpg',
- },
- {
- text: '2 teaspoons rice flour dissolved in 1/4 cup water',
- weight: 6.583333333667247,
- foodCategory: 'grains',
- foodId: 'food_aqhc4cvbkrr2jnai8i98zbrsuelh',
- image: 'https://www.edamam.com/food-img/252/25233e59c8548d747b232000e7c3f939.jpg',
- },
- ],
- calories: 1449.3460128009194,
- totalWeight: 802.6662209107682,
- totalTime: 20,
- cuisineType: ['indian'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1449.3460128009194,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 91.2794887683373,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 9.37638571341761,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.5922700000000001,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 60.099943837234584,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 16.319437287984528,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 23.557795000188314,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 5.7579000000015474,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 3.489894999951202,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 140.1923001773496,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 340.1942775,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1858.3419688818817,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 215.60082865180755,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 240.80101984243916,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2435.4513160389697,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 11.558243872169136,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 3.2159432307464386,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1248.605210166851,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 74.16349999999747,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 5.915249999995562,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.38917130754991813,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.5350672896498774,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 27.868561634989526,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.425359792434706,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 173.51058653332893,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 173.51058653332893,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 10.750139169,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 21.092045205,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 21.34692588666691,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 14.798089769996452,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 541.3553457424878,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 72.46730064004598,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 140.42998272051892,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 46.88192856708805,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 7.852598333396104,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 23.031600000006186,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 280.3846003546992,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 113.3980925,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 77.4309153700784,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 21.560082865180753,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 57.333576152961705,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 51.81811310721212,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 64.21246595649521,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 29.23584755224035,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 178.37217288097872,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 8.240388888888607,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 6.5724999999950695,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 32.43094229582652,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 41.15902228075979,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 174.17851021868452,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 109.64306095651584,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 43.37764663333223,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 447.92246537500006,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 140.6136347,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 142.31283924444605,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 12.331741474997044,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 91.2794887683373,
- hasRDI: true,
- daily: 140.42998272051892,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 9.37638571341761,
- hasRDI: true,
- daily: 46.88192856708805,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.5922700000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 60.099943837234584,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 16.319437287984528,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 23.557795000188314,
- hasRDI: true,
- daily: 7.852598333396104,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 17.799895000186766,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 5.7579000000015474,
- hasRDI: true,
- daily: 23.031600000006186,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 3.489894999951202,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 140.1923001773496,
- hasRDI: true,
- daily: 280.3846003546992,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 340.1942775,
- hasRDI: true,
- daily: 113.3980925,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1858.3419688818817,
- hasRDI: true,
- daily: 77.4309153700784,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 215.60082865180755,
- hasRDI: true,
- daily: 21.560082865180753,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 240.80101984243916,
- hasRDI: true,
- daily: 57.333576152961705,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2435.4513160389697,
- hasRDI: true,
- daily: 51.81811310721212,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 11.558243872169136,
- hasRDI: true,
- daily: 64.21246595649521,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 3.2159432307464386,
- hasRDI: true,
- daily: 29.23584755224035,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1248.605210166851,
- hasRDI: true,
- daily: 178.37217288097872,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 74.16349999999747,
- hasRDI: true,
- daily: 8.240388888888607,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 5.915249999995562,
- hasRDI: true,
- daily: 6.5724999999950695,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.38917130754991813,
- hasRDI: true,
- daily: 32.43094229582652,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.5350672896498774,
- hasRDI: true,
- daily: 41.15902228075979,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 27.868561634989526,
- hasRDI: true,
- daily: 174.17851021868452,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.425359792434706,
- hasRDI: true,
- daily: 109.64306095651584,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 173.51058653332893,
- hasRDI: true,
- daily: 43.37764663333223,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 173.51058653332893,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 10.750139169,
- hasRDI: true,
- daily: 447.92246537500006,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 21.092045205,
- hasRDI: true,
- daily: 140.6136347,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 21.34692588666691,
- hasRDI: true,
- daily: 142.31283924444605,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 14.798089769996452,
- hasRDI: true,
- daily: 12.331741474997044,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 541.3553457424878,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/2b99f00063b585a1345d1cfdc148d51d?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- ],
-};
-
-export const fruitRecipes = {
- from: 1,
- to: 20,
- count: 10000,
- _links: {
- next: {
- href: 'https://api.edamam.com/api/recipes/v2?q=fruit&app_key=fd382a172ba8d6668c0430dc9c14a181&_cont=CHcVQBtNNQphDmgVQntAEX4BYVdtAgAERGFEAGcXYVF7BAcPUXlSADYSZ1FzBAUCFmBAAzQXMAd3AFBRSjNHUjESMlUmDVIVLnlSVSBMPkd5BgMbUSYRVTdgMgksRlpSAAcRXTVGcV84SU4%3D&type=public&app_id=ea1d37d5',
- title: 'Next page',
- },
- },
- hits: [
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_2093a125d3a71431e70d28c6ceddc539',
- label: 'Passion Fruit Sorbet Cups',
- image: 'https://plus.unsplash.com/premium_photo-1694519942554-94c2766a66bd',
- source: 'Martha Stewart',
- url: 'https://www.marthastewart.com/1050169/passion-fruit-sorbet',
- shareAs:
- 'http://www.edamam.com/recipe/passion-fruit-sorbet-cups-2093a125d3a71431e70d28c6ceddc539/fruit',
- yield: 2,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Paleo',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: ['2 ripe passion fruit', '1 pint passion fruit sorbet'],
- ingredients: [
- {
- text: '2 ripe passion fruit',
- weight: 36,
- foodCategory: 'fruit',
- foodId: 'food_b6nwerkagnmbhiac3tjmtasm5dwm',
- image: 'https://www.edamam.com/food-img/393/393e886951f47632fedd2852531af6d2.jpg',
- },
- {
- text: '1 pint passion fruit sorbet',
- weight: 480,
- foodCategory: 'frozen treats',
- foodId: 'food_bb0gx1jbgwfbl6b7fnyhhbpoxd4h',
- image: 'https://www.edamam.com/food-img/6f6/6f6caa41014c15fa613abef327a63b7e.jpg',
- },
- ],
- calories: 586.92,
- totalWeight: 516,
- totalTime: 0,
- cuisineType: ['italian'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 586.92,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.252,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.02124,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.030959999999999998,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.14795999999999998,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 151.4568,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 8.544,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 142.27200000000002,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 0.792,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 34.08,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 4.32,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 10.44,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 125.28,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 0.576,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.036,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 24.48,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 23.04,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 125.99999999999999,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.0468,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 0.54,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.036,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 5.04,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 5.04,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.0072,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.252,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 26.254800000000003,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 29.345999999999997,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.38769230769230767,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.10619999999999999,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 50.4856,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 34.176,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 1.584,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 1.42,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 0.432,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 2.4857142857142858,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 2.665531914893617,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 3.1999999999999997,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.3272727272727272,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 3.4971428571428573,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 2.56,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 139.99999999999997,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 3.5999999999999996,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 3.375,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.7692307692307687,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 1.26,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.048,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.21,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 0.252,
- hasRDI: true,
- daily: 0.38769230769230767,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.02124,
- hasRDI: true,
- daily: 0.10619999999999999,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.030959999999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.14795999999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 151.4568,
- hasRDI: true,
- daily: 50.4856,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 142.91279999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 8.544,
- hasRDI: true,
- daily: 34.176,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 142.27200000000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 0.792,
- hasRDI: true,
- daily: 1.584,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 34.08,
- hasRDI: true,
- daily: 1.42,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 4.32,
- hasRDI: true,
- daily: 0.432,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 10.44,
- hasRDI: true,
- daily: 2.4857142857142858,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 125.28,
- hasRDI: true,
- daily: 2.665531914893617,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 0.576,
- hasRDI: true,
- daily: 3.1999999999999997,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.036,
- hasRDI: true,
- daily: 0.3272727272727272,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 24.48,
- hasRDI: true,
- daily: 3.4971428571428573,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 23.04,
- hasRDI: true,
- daily: 2.56,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 125.99999999999999,
- hasRDI: true,
- daily: 139.99999999999997,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.0468,
- hasRDI: true,
- daily: 3.5999999999999996,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 0.54,
- hasRDI: true,
- daily: 3.375,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.036,
- hasRDI: true,
- daily: 2.7692307692307687,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 5.04,
- hasRDI: true,
- daily: 1.26,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 5.04,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.0072,
- hasRDI: true,
- daily: 0.048,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 0.252,
- hasRDI: true,
- daily: 0.21,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 26.254800000000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/2093a125d3a71431e70d28c6ceddc539?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_8c82ea1621c65848dc331c4197b5df62',
- label: 'Fruit Juice "Gummies"',
- image: 'https://www.edamam.com/web-img/fc4/fc419f37ff8112378bb3cb409cb894c9.jpg',
- source: 'Epicurious',
- url: 'https://www.epicurious.com/recipes/food/views/fruit-juice-gummies-240066',
- shareAs:
- 'http://www.edamam.com/recipe/fruit-juice-gummies-8c82ea1621c65848dc331c4197b5df62/fruit',
- yield: 16,
- dietLabels: ['High-Protein', 'Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Keto-Friendly',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- ],
- cautions: [],
- ingredientLines: [
- "1 cup fruit juice (pure juice-not a fruit-flavored drink) or nectar, such as Goya, Mott's, or Kern's, chilled or at room temperature",
- '1 1/4-ounce package gelatin',
- ],
- ingredients: [
- {
- text: "1 cup fruit juice (pure juice-not a fruit-flavored drink) or nectar, such as Goya, Mott's, or Kern's, chilled or at room temperature",
- weight: 234.4,
- foodCategory: 'sweetened beverages',
- foodId: 'food_a2sndz3b13ty72a1st6y8an7vq1t',
- image: 'https://www.edamam.com/food-img/66e/66ebbfb337e3ba768925a2771b60cb49.jpg',
- },
- {
- text: '1 1/4-ounce package gelatin',
- weight: 35.43690390625,
- foodCategory: 'candy',
- foodId: 'food_bh3w81wbiqrfmhbaw9hgwa3u7lky',
- image: 'https://www.edamam.com/food-img/47a/47a5b5c20c3cbfaf7332d572a5bfddbe.jpg',
- },
- ],
- calories: 217.1616280859375,
- totalWeight: 269.83690390625003,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['breakfast'],
- dishType: ['drinks'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 217.1616280859375,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.43391690390625004,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.07402983273437501,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.07048614234375,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.10199169039062503,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 26.721600000000006,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 26.721600000000006,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 30.498069743749998,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 81.17633165625,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 35.8982971484375,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 14.828118859375001,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 160.373904625,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 0.8621496333593752,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.44809166546875007,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 20.8523925234375,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 11.2512,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.011203225976562502,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.21276887898437502,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 0.14732136832031253,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.0282645832734375,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 15.319071171875,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 15.319071171875,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 213.57439750781253,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 10.858081404296875,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.667564467548077,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.37014916367187506,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 8.907200000000003,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 60.996139487499995,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 3.3823471523437503,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 3.58982971484375,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 3.5305044903273815,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 3.4122107367021277,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 4.7897201853298625,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 4.073560595170455,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2.978913217633929,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 12.501333333333335,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.9336021647135417,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 16.366836844951923,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 0.9207585520019533,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.174198713341346,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 3.82976779296875,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 0.43391690390625004,
- hasRDI: true,
- daily: 0.667564467548077,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.07402983273437501,
- hasRDI: true,
- daily: 0.37014916367187506,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.07048614234375,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.10199169039062503,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 26.721600000000006,
- hasRDI: true,
- daily: 8.907200000000003,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 26.721600000000006,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 26.721600000000006,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 30.498069743749998,
- hasRDI: true,
- daily: 60.996139487499995,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 81.17633165625,
- hasRDI: true,
- daily: 3.3823471523437503,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 35.8982971484375,
- hasRDI: true,
- daily: 3.58982971484375,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 14.828118859375001,
- hasRDI: true,
- daily: 3.5305044903273815,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 160.373904625,
- hasRDI: true,
- daily: 3.4122107367021277,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 0.8621496333593752,
- hasRDI: true,
- daily: 4.7897201853298625,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.44809166546875007,
- hasRDI: true,
- daily: 4.073560595170455,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 20.8523925234375,
- hasRDI: true,
- daily: 2.978913217633929,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 11.2512,
- hasRDI: true,
- daily: 12.501333333333335,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.011203225976562502,
- hasRDI: true,
- daily: 0.9336021647135417,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.21276887898437502,
- hasRDI: true,
- daily: 16.366836844951923,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 0.14732136832031253,
- hasRDI: true,
- daily: 0.9207585520019533,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.0282645832734375,
- hasRDI: true,
- daily: 2.174198713341346,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 15.319071171875,
- hasRDI: true,
- daily: 3.82976779296875,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 15.319071171875,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 213.57439750781253,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/8c82ea1621c65848dc331c4197b5df62?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_434ae1d37430d3f1389fa33a52a87088',
- label: 'Frozen tropical fruit yogurt',
- image: 'https://www.edamam.com/web-img/a7c/a7cd5dd497222f146e923b7c8eca8c23.jpg',
- source: 'BBC Good Food',
- url: 'https://www.bbcgoodfood.com/recipes/frozen-tropical-fruit-yogurt',
- shareAs:
- 'http://www.edamam.com/recipe/frozen-tropical-fruit-yogurt-434ae1d37430d3f1389fa33a52a87088/fruit',
- yield: 6,
- dietLabels: ['Low-Sodium'],
- healthLabels: [
- 'Kidney-Friendly',
- 'Vegetarian',
- 'Pescatarian',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '480g frozen tropical fruit mix',
- '170g Greek yogurt',
- '2 tbsp maple syrup or honey',
- '200g diced tropical fruit and passion fruit seeds, to serve',
- ],
- ingredients: [
- {
- text: '480g frozen tropical fruit mix',
- weight: 480,
- foodCategory: 'sweetened beverages',
- foodId: 'food_aaluhexb6hatm8a0x8eoaaf5v647',
- image: null,
- },
- {
- text: '170g Greek yogurt',
- weight: 170,
- foodCategory: 'yogurt',
- foodId: 'food_bllzl82a5fkj4yanmzoztapdyryz',
- image: 'https://www.edamam.com/food-img/689/6891387401f579242e7303ce8ec00e18.jpg',
- },
- {
- text: '2 tbsp maple syrup or honey',
- weight: 40,
- foodCategory: 'sugars',
- foodId: 'food_bo37p69bopqshvaul0bn4bv0kqni',
- image: 'https://www.edamam.com/food-img/ced/ced25c45453a118e531c8aaf33e2ee38.jpg',
- },
- {
- text: '200g diced tropical fruit and passion fruit seeds, to serve',
- weight: 200,
- foodCategory: 'sweetened beverages',
- foodId: 'food_aaluhexb6hatm8a0x8eoaaf5v647',
- image: null,
- },
- {
- text: '200g diced tropical fruit and passion fruit seeds, to serve',
- weight: 200,
- foodCategory: 'fruit',
- foodId: 'food_b6nwerkagnmbhiac3tjmtasm5dwm',
- image: 'https://www.edamam.com/food-img/393/393e886951f47632fedd2852531af6d2.jpg',
- },
- ],
- calories: 649.9,
- totalWeight: 1090,
- totalTime: 15,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 649.9,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 10.91,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 5.791999999999999,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.2648,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 1.0191999999999999,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 132.702,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 27.6,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 52.194,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 24.184,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 19.206,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 22.61,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 160.539,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 225.739,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 100.4,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1311.2,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 5.284000000000001,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1.3319999999999999,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 198,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 277.6,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 72.92,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.12840000000000001,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.9108,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 5.5756,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.4184,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 48.4,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 48.4,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.04,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 1.4,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 781.016,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 32.495,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 16.784615384615385,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 28.959999999999997,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 44.234,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 110.4,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 38.412,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 7.536666666666667,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 6.689124999999999,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 22.573900000000002,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 23.904761904761905,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 27.897872340425533,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 29.35555555555556,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 12.109090909090908,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 28.285714285714285,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 30.84444444444445,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 81.02222222222223,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 10.700000000000001,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 70.06153846153848,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 34.8475,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 32.184615384615384,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 12.1,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.26666666666666666,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 1.1666666666666667,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 10.91,
- hasRDI: true,
- daily: 16.784615384615385,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 5.791999999999999,
- hasRDI: true,
- daily: 28.959999999999997,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.2648,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 1.0191999999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 132.702,
- hasRDI: true,
- daily: 44.234,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 105.102,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 27.6,
- hasRDI: true,
- daily: 110.4,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 52.194,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 24.184,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 19.206,
- hasRDI: true,
- daily: 38.412,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 22.61,
- hasRDI: true,
- daily: 7.536666666666667,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 160.539,
- hasRDI: true,
- daily: 6.689124999999999,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 225.739,
- hasRDI: true,
- daily: 22.573900000000002,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 100.4,
- hasRDI: true,
- daily: 23.904761904761905,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1311.2,
- hasRDI: true,
- daily: 27.897872340425533,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 5.284000000000001,
- hasRDI: true,
- daily: 29.35555555555556,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 1.3319999999999999,
- hasRDI: true,
- daily: 12.109090909090908,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 198,
- hasRDI: true,
- daily: 28.285714285714285,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 277.6,
- hasRDI: true,
- daily: 30.84444444444445,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 72.92,
- hasRDI: true,
- daily: 81.02222222222223,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.12840000000000001,
- hasRDI: true,
- daily: 10.700000000000001,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.9108,
- hasRDI: true,
- daily: 70.06153846153848,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 5.5756,
- hasRDI: true,
- daily: 34.8475,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.4184,
- hasRDI: true,
- daily: 32.184615384615384,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 48.4,
- hasRDI: true,
- daily: 12.1,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 48.4,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.04,
- hasRDI: true,
- daily: 0.26666666666666666,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 1.4,
- hasRDI: true,
- daily: 1.1666666666666667,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 781.016,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/434ae1d37430d3f1389fa33a52a87088?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_a6bc6e81535668b2cb5f3d91a8a69125',
- label: 'Fruit Lollipops',
- image: 'https://www.edamam.com/web-img/1a1/1a19fb5f77a25bf94d295a4b16cbbded.JPG',
- source: 'Food52',
- url: 'https://food52.com/recipes/2163-fruit-lollipops',
- shareAs:
- 'http://www.edamam.com/recipe/fruit-lollipops-a6bc6e81535668b2cb5f3d91a8a69125/fruit',
- yield: 4,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: [],
- ingredientLines: [
- '1 cup sugar',
- '1 tablespoon light corn syrup',
- '1/3 cup water',
- '1/4-1/2 teaspoon natural fruit extract or oil',
- '1 drop gel based food coloring',
- ],
- ingredients: [
- {
- text: '1 cup sugar',
- weight: 200,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '1 tablespoon light corn syrup',
- weight: 22,
- foodCategory: 'sugars',
- foodId: 'food_b8n4w6faic9hd1a7t9vx1bxq42wr',
- image: 'https://www.edamam.com/food-img/148/1488bb6a128ff5142e0a52d5eeb36d36.jpg',
- },
- {
- text: '1/3 cup water',
- weight: 79,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- {
- text: '1/4-1/2 teaspoon natural fruit extract or oil',
- weight: 1.6875,
- foodCategory: 'Oils',
- foodId: 'food_bk9p9aaavhvoq4bqsnprobpsiuxs',
- image: 'https://www.edamam.com/food-img/07e/07e106ab3536d57428e5c46d009038f8.jpg',
- },
- {
- text: '1 drop gel based food coloring',
- weight: 0.06161152,
- foodCategory: 'water',
- foodId: 'food_avcjo2fattdi8eafpf0ujatvwb7i',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- ],
- calories: 851.1775,
- totalWeight: 302.74911152,
- totalTime: 93,
- cuisineType: ['american'],
- mealType: ['teatime'],
- dishType: ['biscuits and cookies'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 851.1775,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 1.7315,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.12428437500000002,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.0066656250000000005,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 1.0677825,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.47489625,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 216.8538,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 216.4894,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 216.4894,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 0,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 18.8024644608,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 7.2318483456,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 1.0106161152,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 4.22,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 0.1,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.124706161152,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 0,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.01298,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.038,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 0,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 0,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 0,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.29463750000000005,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 1.2031875,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 84.04074990848001,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 42.558875,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 2.663846153846154,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.621421875,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 72.2846,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 0,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 0.7834360192,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 0.7231848345599999,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 0.24062288457142858,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 0.08978723404255319,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 0.5555555555555556,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1.133692374109091,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 0,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.0816666666666668,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.923076923076923,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 0,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 0,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.9642500000000003,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 1.00265625,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 1.7315,
- hasRDI: true,
- daily: 2.663846153846154,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.12428437500000002,
- hasRDI: true,
- daily: 0.621421875,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.0066656250000000005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 1.0677825,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.47489625,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 216.8538,
- hasRDI: true,
- daily: 72.2846,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 216.8538,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 216.4894,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 216.4894,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 18.8024644608,
- hasRDI: true,
- daily: 0.7834360192,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 7.2318483456,
- hasRDI: true,
- daily: 0.7231848345599999,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 1.0106161152,
- hasRDI: true,
- daily: 0.24062288457142858,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 4.22,
- hasRDI: true,
- daily: 0.08978723404255319,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 0.1,
- hasRDI: true,
- daily: 0.5555555555555556,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.124706161152,
- hasRDI: true,
- daily: 1.133692374109091,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.01298,
- hasRDI: true,
- daily: 1.0816666666666668,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.038,
- hasRDI: true,
- daily: 2.923076923076923,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.29463750000000005,
- hasRDI: true,
- daily: 1.9642500000000003,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 1.2031875,
- hasRDI: true,
- daily: 1.00265625,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 84.04074990848001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/a6bc6e81535668b2cb5f3d91a8a69125?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_b67134634ccc18bc13864e8dd08eca08',
- label: 'Passion Fruit Meyer Lemonade recipes',
- image: 'https://www.edamam.com/web-img/9e0/9e0fb17c4874563461c51fac8e95cade',
- source: 'Love & Olive Oil',
- url: 'http://www.loveandoliveoil.com/2014/11/passion-fruit-meyer-lemonade.html',
- shareAs:
- 'http://www.edamam.com/recipe/passion-fruit-meyer-lemonade-recipes-b67134634ccc18bc13864e8dd08eca08/fruit',
- yield: 2,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1/2 cup fresh passion fruit juice (from 5-6 passion fruit)',
- '1/2 cup Meyer lemon juice (form 2-3 large lemons)',
- '1 cup water',
- '4-6 tablespoons simple sugar syrup*',
- ],
- ingredients: [
- {
- text: '1/2 cup fresh passion fruit juice (from 5-6 passion fruit)',
- weight: 123.5,
- foodCategory: 'fruit',
- foodId: 'food_b743xxxbhanf9fasbvqpmaum0ve1',
- image: 'https://www.edamam.com/food-img/beb/beb68df6d7d0d390949e1210eea86ec5.jpg',
- },
- {
- text: '1/2 cup Meyer lemon juice (form 2-3 large lemons)',
- weight: 122,
- foodCategory: '100% juice',
- foodId: 'food_bglm6vxahuauteb0n6ynfbg9eryu',
- image: 'https://www.edamam.com/food-img/e31/e310952d214e78a4cb8b73f30ceeaaf2.jpg',
- },
- {
- text: '1 cup water',
- weight: 237,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- {
- text: '4-6 tablespoons simple sugar syrup*',
- weight: 100,
- foodCategory: 'sugars',
- foodId: 'food_bo79gpza83y5i8a3ze96lb0pan32',
- image: 'https://www.edamam.com/food-img/8c0/8c0be6812a605404c0bcebf2fd2a27cd.jpg',
- },
- ],
- calories: 419.94,
- totalWeight: 582.5,
- totalTime: 10,
- cuisineType: ['italian'],
- mealType: ['lunch/dinner'],
- dishType: ['drinks'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 419.94,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.5151,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.067325,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.03449,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.15653,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 110.16375000000001,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0.613,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 20.673150000000003,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 1.25445,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 89.11,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 42.370000000000005,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 39.685,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 531.99,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 1.2822,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.1888,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 48.635000000000005,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 58.045,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 69.691,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.03528,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.190035,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 2.8974200000000003,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.13922,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 37.28,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 37.28,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.19535,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.49400000000000005,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 468.98055000000005,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 20.997,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.7924615384615384,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.336625,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 36.72125,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 2.452,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 2.5089,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 3.7129166666666666,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 4.237,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 9.448809523809524,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 11.318936170212766,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 7.123333333333333,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1.7163636363636363,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 6.947857142857144,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 6.4494444444444445,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 77.43444444444445,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 2.94,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 14.618076923076924,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 18.108875,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 10.70923076923077,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 9.32,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.3023333333333333,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.41166666666666674,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 0.5151,
- hasRDI: true,
- daily: 0.7924615384615384,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.067325,
- hasRDI: true,
- daily: 0.336625,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.03449,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.15653,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 110.16375000000001,
- hasRDI: true,
- daily: 36.72125,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 109.55075000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 0.613,
- hasRDI: true,
- daily: 2.452,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 20.673150000000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 1.25445,
- hasRDI: true,
- daily: 2.5089,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 89.11,
- hasRDI: true,
- daily: 3.7129166666666666,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 42.370000000000005,
- hasRDI: true,
- daily: 4.237,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 39.685,
- hasRDI: true,
- daily: 9.448809523809524,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 531.99,
- hasRDI: true,
- daily: 11.318936170212766,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 1.2822,
- hasRDI: true,
- daily: 7.123333333333333,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.1888,
- hasRDI: true,
- daily: 1.7163636363636363,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 48.635000000000005,
- hasRDI: true,
- daily: 6.947857142857144,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 58.045,
- hasRDI: true,
- daily: 6.4494444444444445,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 69.691,
- hasRDI: true,
- daily: 77.43444444444445,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.03528,
- hasRDI: true,
- daily: 2.94,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.190035,
- hasRDI: true,
- daily: 14.618076923076924,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 2.8974200000000003,
- hasRDI: true,
- daily: 18.108875,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.13922,
- hasRDI: true,
- daily: 10.70923076923077,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 37.28,
- hasRDI: true,
- daily: 9.32,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 37.28,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.19535,
- hasRDI: true,
- daily: 1.3023333333333333,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 0.49400000000000005,
- hasRDI: true,
- daily: 0.41166666666666674,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 468.98055000000005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/b67134634ccc18bc13864e8dd08eca08?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_528d7d531dadda1ca854c659c78e8e02',
- label: 'Dry passion fruit daiquiri',
- image: 'https://www.edamam.com/web-img/ff4/ff418ed290f659e7709f19f8a95c715f.jpg',
- source: 'Jamie Oliver',
- url: 'http://www.jamieoliver.com/recipes/rum-recipes/dry-passion-fruit-daiquiri/',
- shareAs:
- 'http://www.edamam.com/recipe/dry-passion-fruit-daiquiri-528d7d531dadda1ca854c659c78e8e02/fruit',
- yield: 1,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'No oil added',
- 'Kosher',
- 'Alcohol-Cocktail',
- ],
- cautions: ['Wheat', 'Sulfites'],
- ingredientLines: [
- 'caster sugar',
- '50 ml Bacardi Superior rum',
- '1 lime',
- '10 ml Campari',
- '1 passion fruit , plus extra to serve',
- ],
- ingredients: [
- {
- text: 'caster sugar',
- weight: 1.6968214784000892,
- foodCategory: 'sugars',
- foodId: 'food_b83hz1dbrydiwzag8btahb15lu4l',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '50 ml Bacardi Superior rum',
- weight: 47.00149155556177,
- foodCategory: 'liquors and cocktails',
- foodId: 'food_bi9pqpkbrb86k8aowifmbbxwzgng',
- image: 'https://www.edamam.com/food-img/eb5/eb51e606b36b62c66ea1a245ab0d4a8b.jpg',
- },
- {
- text: '1 lime',
- weight: 67,
- foodCategory: 'fruit',
- foodId: 'food_av58muyb8kg92fbk0g8g8aui5knv',
- image: 'https://www.edamam.com/food-img/48a/48a123c9576647c4ada6a41df5eeb22a.jpg',
- },
- {
- text: '10 ml Campari',
- weight: 9.400298311112355,
- foodCategory: 'liquors and cocktails',
- foodId: 'food_ajguqpia53yz3oah6w2frad3tz65',
- image: 'https://www.edamam.com/food-img/c7f/c7fcc63de96b349534aade3de3f9fa7d.jpg',
- },
- {
- text: '1 passion fruit , plus extra to serve',
- weight: 18,
- foodCategory: 'fruit',
- foodId: 'food_b6nwerkagnmbhiac3tjmtasm5dwm',
- image: 'https://www.edamam.com/food-img/393/393e886951f47632fedd2852531af6d2.jpg',
- },
- ],
- calories: 174.4148337134256,
- totalWeight: 143.0986113450742,
- totalTime: 0,
- cuisineType: ['world'],
- mealType: ['lunch/dinner'],
- dishType: ['alcohol-cocktail'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 174.4148337134256,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.26,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.02536,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.02821,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.11082999999999998,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 12.966682114104408,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 3.7479999999999998,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 4.841727835443289,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 1.6934278354432892,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 0.865,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 6.960986113450742,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 24.286968214784004,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 9.24,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 132.1419722269015,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 0.7510103199303191,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.1285308455611782,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 27.026086510222584,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 12.86,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 24.897000000000002,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.024424137223111684,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.03749840801334051,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 0.4052220387804446,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.04690400298311112,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 7.880000000000001,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 7.880000000000001,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.151,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.528,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 109.82553141550065,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 8.720741685671278,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.4,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.1268,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 4.322227371368136,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 14.991999999999997,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 1.73,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 0.2900410880604476,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 2.4286968214784004,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 2.2,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 2.8115313239766273,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 4.17227955516844,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1.1684622323743472,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 3.8608695014603693,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1.4288888888888889,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 27.663333333333338,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 2.0353447685926405,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.8844929241031165,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 2.5326377423777786,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.608000229470086,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 1.9700000000000002,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.0066666666666666,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.44000000000000006,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 0.26,
- hasRDI: true,
- daily: 0.4,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.02536,
- hasRDI: true,
- daily: 0.1268,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.02821,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.11082999999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 12.966682114104408,
- hasRDI: true,
- daily: 4.322227371368136,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 9.218682114104409,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 3.7479999999999998,
- hasRDI: true,
- daily: 14.991999999999997,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 4.841727835443289,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 1.6934278354432892,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 0.865,
- hasRDI: true,
- daily: 1.73,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 6.960986113450742,
- hasRDI: true,
- daily: 0.2900410880604476,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 24.286968214784004,
- hasRDI: true,
- daily: 2.4286968214784004,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 9.24,
- hasRDI: true,
- daily: 2.2,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 132.1419722269015,
- hasRDI: true,
- daily: 2.8115313239766273,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 0.7510103199303191,
- hasRDI: true,
- daily: 4.17227955516844,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.1285308455611782,
- hasRDI: true,
- daily: 1.1684622323743472,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 27.026086510222584,
- hasRDI: true,
- daily: 3.8608695014603693,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 12.86,
- hasRDI: true,
- daily: 1.4288888888888889,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 24.897000000000002,
- hasRDI: true,
- daily: 27.663333333333338,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.024424137223111684,
- hasRDI: true,
- daily: 2.0353447685926405,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.03749840801334051,
- hasRDI: true,
- daily: 2.8844929241031165,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 0.4052220387804446,
- hasRDI: true,
- daily: 2.5326377423777786,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.04690400298311112,
- hasRDI: true,
- daily: 3.608000229470086,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 7.880000000000001,
- hasRDI: true,
- daily: 1.9700000000000002,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 7.880000000000001,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.151,
- hasRDI: true,
- daily: 1.0066666666666666,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 0.528,
- hasRDI: true,
- daily: 0.44000000000000006,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 109.82553141550065,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/528d7d531dadda1ca854c659c78e8e02?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_6d9bb469133e00d8533575240e0b763f',
- label: 'Passion Fruit Sparklers',
- image: 'https://www.edamam.com/web-img/7a4/7a4122b1b2f52470a355064b4a078d90.jpg',
- source: 'Real Simple',
- url: 'https://www.realsimple.com/food-recipes/browse-all-recipes/passion-fruit-sparklers-0',
- shareAs:
- 'http://www.edamam.com/recipe/passion-fruit-sparklers-6d9bb469133e00d8533575240e0b763f/fruit',
- yield: 4,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'No oil added',
- 'Kosher',
- 'Alcohol-Cocktail',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '4 tablespoons passion fruit juice, chilled',
- '1 bottle Prosecco, chilled',
- ],
- ingredients: [
- {
- text: '4 tablespoons passion fruit juice, chilled',
- weight: 61.799999998955144,
- foodCategory: 'fruit',
- foodId: 'food_b743xxxbhanf9fasbvqpmaum0ve1',
- image: 'https://www.edamam.com/food-img/beb/beb68df6d7d0d390949e1210eea86ec5.jpg',
- },
- {
- text: '1 bottle Prosecco, chilled',
- weight: 745.599200575638,
- foodCategory: 'wines',
- foodId: 'food_a656mk2a5dmqb2adiamu6beihduu',
- image: 'https://www.edamam.com/food-img/a71/a718cf3c52add522128929f1f324d2ab.jpg',
- },
- ],
- calories: 648.4713444713962,
- totalWeight: 807.3992005745931,
- totalTime: 5,
- cuisineType: ['world'],
- mealType: ['lunch/dinner'],
- dishType: ['alcohol-cocktail'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 648.4713444713962,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.11123999999811926,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.009269999999843272,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.013595999999770132,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.06550799999889245,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 28.315679214815603,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0.1235999999979103,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 15.964252325377233,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 0.935979440395946,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 40.98796002871921,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 69.57592805176562,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 85.06592005738618,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 701.1794324057983,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 2.235597841550461,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.9317990406901385,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 149.65785610335362,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 29.04599999950892,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 11.247599999809836,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.0372799600287819,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.1742578800852904,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 2.1895671365982845,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.40987960028719206,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 12.399992005672791,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 12.399992005672791,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.006179999999895515,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 3.2295968022983725,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 699.6692456191192,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 32.423567223569805,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.17113846153556808,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.04634999999921636,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 9.438559738271868,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0.49439999999164125,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 1.871958880791892,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 1.7078316678633003,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 6.957592805176561,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 20.253790489853852,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 14.918711327782942,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 12.419988008613673,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 8.470900369910352,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 21.37969372905052,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 3.227333333278769,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 12.49733333312204,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 3.106663335731825,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 13.404452314253106,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 13.684794603739277,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 31.529200022091697,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 3.099998001418198,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.04119999999930343,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 2.691330668581977,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 0.11123999999811926,
- hasRDI: true,
- daily: 0.17113846153556808,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.009269999999843272,
- hasRDI: true,
- daily: 0.04634999999921636,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.013595999999770132,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.06550799999889245,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 28.315679214815603,
- hasRDI: true,
- daily: 9.438559738271868,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 28.192079214817692,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 0.1235999999979103,
- hasRDI: true,
- daily: 0.49439999999164125,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 15.964252325377233,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 0.935979440395946,
- hasRDI: true,
- daily: 1.871958880791892,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 40.98796002871921,
- hasRDI: true,
- daily: 1.7078316678633003,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 69.57592805176562,
- hasRDI: true,
- daily: 6.957592805176561,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 85.06592005738618,
- hasRDI: true,
- daily: 20.253790489853852,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 701.1794324057983,
- hasRDI: true,
- daily: 14.918711327782942,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 2.235597841550461,
- hasRDI: true,
- daily: 12.419988008613673,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.9317990406901385,
- hasRDI: true,
- daily: 8.470900369910352,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 149.65785610335362,
- hasRDI: true,
- daily: 21.37969372905052,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 29.04599999950892,
- hasRDI: true,
- daily: 3.227333333278769,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 11.247599999809836,
- hasRDI: true,
- daily: 12.49733333312204,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.0372799600287819,
- hasRDI: true,
- daily: 3.106663335731825,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.1742578800852904,
- hasRDI: true,
- daily: 13.404452314253106,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 2.1895671365982845,
- hasRDI: true,
- daily: 13.684794603739277,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.40987960028719206,
- hasRDI: true,
- daily: 31.529200022091697,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 12.399992005672791,
- hasRDI: true,
- daily: 3.099998001418198,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 12.399992005672791,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.006179999999895515,
- hasRDI: true,
- daily: 0.04119999999930343,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 3.2295968022983725,
- hasRDI: true,
- daily: 2.691330668581977,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 699.6692456191192,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/6d9bb469133e00d8533575240e0b763f?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_662c06e0f33665a42df6f9dfc058c7c5',
- label: 'Passion Fruit Syrup recipes',
- image: 'https://www.edamam.com/web-img/a04/a040d911fe940b3f12fbb693eaa8ce91',
- source: 'PBS Food',
- url: 'http://www.pbs.org/food/fresh-tastes/passion-fruit-syrup/',
- shareAs:
- 'http://www.edamam.com/recipe/passion-fruit-syrup-recipes-662c06e0f33665a42df6f9dfc058c7c5/fruit',
- yield: 4,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '7.55 ounces sugar (~1 cup)',
- '7.55 ounces water (~1 cup)',
- '1 1/2 cups passion fruit pulp (about 6 passion fruits)',
- ],
- ingredients: [
- {
- text: '7.55 ounces sugar (~1 cup)',
- weight: 214.03890500099243,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '7.55 ounces water (~1 cup)',
- weight: 214.03890500099243,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- {
- text: '1 1/2 cups passion fruit pulp (about 6 passion fruits)',
- weight: 108,
- foodCategory: 'fruit',
- foodId: 'food_b6nwerkagnmbhiac3tjmtasm5dwm',
- image: 'https://www.edamam.com/food-img/393/393e886951f47632fedd2852531af6d2.jpg',
- },
- ],
- calories: 933.0905623538408,
- totalWeight: 536.0778100019849,
- totalTime: 20,
- cuisineType: ['american'],
- mealType: ['breakfast'],
- dishType: ['drinks'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 933.0905623538408,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.756,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.06372,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.09288,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.44388,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 239.24649721999225,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 11.232000000000001,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 225.70682719099045,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 213.61082719099045,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 2.3760000000000003,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 40.94194525004963,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 21.521556200039697,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 33.46038905000992,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 380.1207781000199,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 1.8350194525004964,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.1508077810001985,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 73.44,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 69.12,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 32.400000000000006,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.1810673919501886,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 1.62,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.10800000000000001,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 15.120000000000001,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 15.120000000000001,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.0216,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.756,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 292.6320738769917,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 46.65452811769204,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 1.163076923076923,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.3186,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 79.74883240666408,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 44.928000000000004,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 4.752000000000001,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 1.7059143854187346,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 2.1521556200039695,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 7.96675929762141,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 8.087676129787658,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 10.194552513891646,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1.370979827274532,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 10.491428571428571,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 7.68,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 36.00000000000001,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 13.928260919245274,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 10.125,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 8.307692307692308,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 3.78,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.14400000000000002,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.63,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 0.756,
- hasRDI: true,
- daily: 1.163076923076923,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.06372,
- hasRDI: true,
- daily: 0.3186,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.09288,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.44388,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 239.24649721999225,
- hasRDI: true,
- daily: 79.74883240666408,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 228.01449721999225,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 11.232000000000001,
- hasRDI: true,
- daily: 44.928000000000004,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 225.70682719099045,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 213.61082719099045,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 2.3760000000000003,
- hasRDI: true,
- daily: 4.752000000000001,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 40.94194525004963,
- hasRDI: true,
- daily: 1.7059143854187346,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 21.521556200039697,
- hasRDI: true,
- daily: 2.1521556200039695,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 33.46038905000992,
- hasRDI: true,
- daily: 7.96675929762141,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 380.1207781000199,
- hasRDI: true,
- daily: 8.087676129787658,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 1.8350194525004964,
- hasRDI: true,
- daily: 10.194552513891646,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.1508077810001985,
- hasRDI: true,
- daily: 1.370979827274532,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 73.44,
- hasRDI: true,
- daily: 10.491428571428571,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 69.12,
- hasRDI: true,
- daily: 7.68,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 32.400000000000006,
- hasRDI: true,
- daily: 36.00000000000001,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.1810673919501886,
- hasRDI: true,
- daily: 13.928260919245274,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 1.62,
- hasRDI: true,
- daily: 10.125,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.10800000000000001,
- hasRDI: true,
- daily: 8.307692307692308,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 15.120000000000001,
- hasRDI: true,
- daily: 3.78,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 15.120000000000001,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.0216,
- hasRDI: true,
- daily: 0.14400000000000002,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 0.756,
- hasRDI: true,
- daily: 0.63,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 292.6320738769917,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/662c06e0f33665a42df6f9dfc058c7c5?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_63934dc565df7daf45a7f791f938f9fc',
- label: 'Tropical Fruit Ice',
- image: 'https://www.edamam.com/web-img/98c/98cb563dd3ec0e20c71bf0aaff194119.jpg',
- source: 'EatingWell',
- url: 'http://www.eatingwell.com/recipes/tropical_fruit_ice.html',
- shareAs:
- 'http://www.edamam.com/recipe/tropical-fruit-ice-63934dc565df7daf45a7f791f938f9fc/fruit',
- yield: 8,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Keto-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Paleo',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- 'Immuno-Supportive',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 11-1/2-ounce can frozen passion fruit concentrate, (see Ingredient note)',
- '2 cups water',
- '2 tablespoons lime juice',
- ],
- ingredients: [
- {
- text: '1 11-1/2-ounce can frozen passion fruit concentrate, (see Ingredient note)',
- weight: 326.0195159375,
- foodCategory: 'fruit',
- foodId: 'food_b6nwerkagnmbhiac3tjmtasm5dwm',
- image: 'https://www.edamam.com/food-img/393/393e886951f47632fedd2852531af6d2.jpg',
- },
- {
- text: '2 cups water',
- weight: 474,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- {
- text: '2 tablespoons lime juice',
- weight: 30.799999999479265,
- foodCategory: 'fruit',
- foodId: 'food_b0iywbmaujvd4eblrooo9bsvn7e6',
- image: 'https://www.edamam.com/food-img/8f0/8f0c10eb3dbf476a05e61018e76ea220.jpg',
- },
- ],
- calories: 323.9389304592448,
- totalWeight: 830.8195159369793,
- totalTime: 0,
- cuisineType: ['caribbean'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 323.9389304592448,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 2.303696611562135,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.1948155144030833,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.2828407837062083,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 1.347024210503005,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 78.81672282614365,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 34.029229657497915,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 37.034705784991196,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 7.301789350622813,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 110.86146446248958,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 57.65434191242709,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 101.74965962183333,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1170.5839154618907,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 5.2440322549995315,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.39805951593708344,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 226.0052708374271,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 209.26849019998957,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 107.04585478109377,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.007699999999869817,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.4284453707186719,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 4.93402873906176,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.3377235159373021,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 48.722732231197924,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 48.722732231197924,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.13296390318635437,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 2.466936611559375,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 739.2553529727461,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 16.19694652296224,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 3.5441486331725156,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.9740775720154164,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 26.272240942047883,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 136.11691862999166,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 14.603578701245626,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 4.619227685937066,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 5.765434191242709,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 24.22610943376984,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 24.906040754508314,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 29.133512527775174,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 3.618722872155304,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 32.28646726248959,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 23.25205446666551,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 118.93983864565975,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.6416666666558181,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 32.957336209128606,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 30.837679619136,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 25.978731995177082,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 12.180683057799481,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.8864260212423625,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 2.055780509632813,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 2.303696611562135,
- hasRDI: true,
- daily: 3.5441486331725156,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.1948155144030833,
- hasRDI: true,
- daily: 0.9740775720154164,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.2828407837062083,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 1.347024210503005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 78.81672282614365,
- hasRDI: true,
- daily: 26.272240942047883,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 44.78749316864573,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 34.029229657497915,
- hasRDI: true,
- daily: 136.11691862999166,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 37.034705784991196,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 7.301789350622813,
- hasRDI: true,
- daily: 14.603578701245626,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 110.86146446248958,
- hasRDI: true,
- daily: 4.619227685937066,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 57.65434191242709,
- hasRDI: true,
- daily: 5.765434191242709,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 101.74965962183333,
- hasRDI: true,
- daily: 24.22610943376984,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1170.5839154618907,
- hasRDI: true,
- daily: 24.906040754508314,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 5.2440322549995315,
- hasRDI: true,
- daily: 29.133512527775174,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.39805951593708344,
- hasRDI: true,
- daily: 3.618722872155304,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 226.0052708374271,
- hasRDI: true,
- daily: 32.28646726248959,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 209.26849019998957,
- hasRDI: true,
- daily: 23.25205446666551,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 107.04585478109377,
- hasRDI: true,
- daily: 118.93983864565975,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.007699999999869817,
- hasRDI: true,
- daily: 0.6416666666558181,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.4284453707186719,
- hasRDI: true,
- daily: 32.957336209128606,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 4.93402873906176,
- hasRDI: true,
- daily: 30.837679619136,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.3377235159373021,
- hasRDI: true,
- daily: 25.978731995177082,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 48.722732231197924,
- hasRDI: true,
- daily: 12.180683057799481,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 48.722732231197924,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.13296390318635437,
- hasRDI: true,
- daily: 0.8864260212423625,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 2.466936611559375,
- hasRDI: true,
- daily: 2.055780509632813,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 739.2553529727461,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/63934dc565df7daf45a7f791f938f9fc?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_37cd0fca0dfa04beecc560f9f3538253',
- label: 'Passion Fruit Batida',
- image: 'https://www.edamam.com/web-img/d5b/d5b27882bda2357634258fdd4aa6e540.jpg',
- source: 'Food & Wine',
- url: 'http://www.foodandwine.com/recipes/passion-fruit-batida',
- shareAs:
- 'http://www.edamam.com/recipe/passion-fruit-batida-37cd0fca0dfa04beecc560f9f3538253/fruit',
- yield: 4,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Vegetarian',
- 'Pescatarian',
- 'Mediterranean',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'Kosher',
- 'Alcohol-Cocktail',
- ],
- cautions: ['Wheat', 'Sulfites'],
- ingredientLines: [
- '1 1/2 cups passion fruit juice',
- '1/4 cup sweetened condensed milk',
- '3 ounces cachaça or white rum (1/4 cup plus 2 tablespoons)',
- '2 cups crushed ice',
- ],
- ingredients: [
- {
- text: '1 1/2 cups passion fruit juice',
- weight: 370.5,
- foodCategory: 'fruit',
- foodId: 'food_b743xxxbhanf9fasbvqpmaum0ve1',
- image: 'https://www.edamam.com/food-img/beb/beb68df6d7d0d390949e1210eea86ec5.jpg',
- },
- {
- text: '1/4 cup sweetened condensed milk',
- weight: 76.5,
- foodCategory: 'Milk',
- foodId: 'food_a89byenbz1jssabxmx7i6aa77jz1',
- image: 'https://www.edamam.com/food-img/bc9/bc97e9aa15ccef74dbad4d6267e30e3f.jpg',
- },
- {
- text: '3 ounces cachaça or white rum (1/4 cup plus 2 tablespoons)',
- weight: 55.9999999996845,
- foodCategory: 'liquors and cocktails',
- foodId: 'food_bi9pqpkbrb86k8aowifmbbxwzgng',
- image: 'https://www.edamam.com/food-img/eb5/eb51e606b36b62c66ea1a245ab0d4a8b.jpg',
- },
- {
- text: '3 ounces cachaça or white rum (1/4 cup plus 2 tablespoons)',
- weight: 27.799999999529987,
- foodCategory: 'liquors and cocktails',
- foodId: 'food_bi9pqpkbrb86k8aowifmbbxwzgng',
- image: 'https://www.edamam.com/food-img/eb5/eb51e606b36b62c66ea1a245ab0d4a8b.jpg',
- },
- {
- text: '2 cups crushed ice',
- weight: 474,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- ],
- calories: 661.4429999981854,
- totalWeight: 1004.7999999992145,
- totalTime: 0,
- cuisineType: ['world'],
- mealType: ['lunch/dinner'],
- dishType: ['alcohol-cocktail'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 661.4429999981854,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 7.3224,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 4.252365,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 1.9381650000000001,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.6505350000000001,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 95.15325,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0.7410000000000001,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 94.41225,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 8.5335,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 26.01,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 139.18299999999215,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 246.29999999999998,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 87.615,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1315.4809999999843,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 1.5797099999990574,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1.0474599999994503,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 290.35999999996073,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 230.745,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 69.42,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.07555399999993714,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.692445,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 8.459850000000001,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.261315,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 38.055,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 38.055,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.3366,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.15300000000000002,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.15945,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 1.9410000000000003,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 862.112249999477,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 33.07214999990927,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 11.265230769230769,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 21.261825,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 31.717750000000002,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 2.9640000000000004,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 17.067,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 8.67,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 5.79929166666634,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 24.63,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 20.860714285714284,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 27.98895744680818,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 8.77616666666143,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 9.522363636358639,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 41.47999999999439,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 25.638333333333332,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 77.13333333333334,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 6.296166666661429,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 53.265,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 52.87406250000001,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 20.101153846153846,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 9.51375,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 14.025000000000002,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.0200000000000002,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.063,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 1.6175000000000002,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 7.3224,
- hasRDI: true,
- daily: 11.265230769230769,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 4.252365,
- hasRDI: true,
- daily: 21.261825,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 1.9381650000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.6505350000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 95.15325,
- hasRDI: true,
- daily: 31.717750000000002,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 94.41225,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 0.7410000000000001,
- hasRDI: true,
- daily: 2.9640000000000004,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 94.41225,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 8.5335,
- hasRDI: true,
- daily: 17.067,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 26.01,
- hasRDI: true,
- daily: 8.67,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 139.18299999999215,
- hasRDI: true,
- daily: 5.79929166666634,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 246.29999999999998,
- hasRDI: true,
- daily: 24.63,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 87.615,
- hasRDI: true,
- daily: 20.860714285714284,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1315.4809999999843,
- hasRDI: true,
- daily: 27.98895744680818,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 1.5797099999990574,
- hasRDI: true,
- daily: 8.77616666666143,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 1.0474599999994503,
- hasRDI: true,
- daily: 9.522363636358639,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 290.35999999996073,
- hasRDI: true,
- daily: 41.47999999999439,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 230.745,
- hasRDI: true,
- daily: 25.638333333333332,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 69.42,
- hasRDI: true,
- daily: 77.13333333333334,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.07555399999993714,
- hasRDI: true,
- daily: 6.296166666661429,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.692445,
- hasRDI: true,
- daily: 53.265,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 8.459850000000001,
- hasRDI: true,
- daily: 52.87406250000001,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.261315,
- hasRDI: true,
- daily: 20.101153846153846,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 38.055,
- hasRDI: true,
- daily: 9.51375,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 38.055,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.3366,
- hasRDI: true,
- daily: 14.025000000000002,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.15300000000000002,
- hasRDI: true,
- daily: 1.0200000000000002,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.15945,
- hasRDI: true,
- daily: 1.063,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 1.9410000000000003,
- hasRDI: true,
- daily: 1.6175000000000002,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 862.112249999477,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/37cd0fca0dfa04beecc560f9f3538253?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_652403b8d24f805e730642451f4371a1',
- label: 'Mango and passion fruit sorbet',
- image: 'https://www.edamam.com/web-img/790/7904028f44e0b681f0c1ce9efa2267a1',
- source: 'LA Times',
- url: 'https://www.latimes.com/recipe/mango-and-passion-fruit-sorbet',
- shareAs:
- 'http://www.edamam.com/recipe/mango-and-passion-fruit-sorbet-652403b8d24f805e730642451f4371a1/fruit',
- yield: 4,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '2 mangoes, about 1 pound (450 grams) each',
- '⅔ cup (135 g) sugar',
- '⅓ cup (75 milliliters) lime juice, from about 2 limes',
- '¼ cup (60 ml) water',
- 'Pinch of salt',
- '¼ pound (115 g) passion fruit (2 to 4), or ½ cup (120 ml) passion fruit purée',
- ],
- ingredients: [
- {
- text: '2 mangoes, about 1 pound (450 grams) each',
- weight: 907.18474,
- foodCategory: 'fruit',
- foodId: 'food_an1dqoib8xj3tyb3pr7c0abi4rbw',
- image: 'https://www.edamam.com/food-img/6e0/6e04857756d0876f14bfc035ff238e0b.png',
- },
- {
- text: '⅔ cup (135 g) sugar',
- weight: 135,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '⅓ cup (75 milliliters) lime juice, from about 2 limes',
- weight: 78.11039244125733,
- foodCategory: 'fruit',
- foodId: 'food_b0iywbmaujvd4eblrooo9bsvn7e6',
- image: 'https://www.edamam.com/food-img/8f0/8f0c10eb3dbf476a05e61018e76ea220.jpg',
- },
- {
- text: '¼ cup (60 ml) water',
- weight: 60,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- {
- text: 'Pinch of salt',
- weight: 0.380208333815447,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '¼ pound (115 g) passion fruit (2 to 4), or ½ cup (120 ml) passion fruit purée',
- weight: 113.3980925,
- foodCategory: 'condiments and sauces',
- foodId: 'food_a951gtdax5t9szap0t9f4a5wp6ut',
- image: null,
- },
- ],
- calories: 1010.0849239503144,
- totalWeight: 1294.073433275073,
- totalTime: 0,
- cuisineType: ['italian'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1010.0849239503144,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 2.8424559807288805,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.5988219035633007,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.9079904629553007,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.4752772176954892,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 256.2933425129739,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 10.84485640116503,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 224.03428482589726,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 134.73000000000002,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 6.857072222033281,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 159.1143655230161,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 85.02783313589174,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 71.26275001863874,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1176.2095336949762,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 1.7207306348887228,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.6620595711468213,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 101.10961809777604,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 349.3768371648252,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 265.98256574247716,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.19987592442231433,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.2821250017181886,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 4.419953553792586,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.7961623359536778,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 284.77454036612573,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 284.77454036612573,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 5.968753351970767,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 27.520911301447548,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 668.4510183569253,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 50.50424619751572,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 4.373009201121355,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 2.9941095178165034,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 85.4311141709913,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 43.37942560466012,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 13.714144444066562,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 6.62976523012567,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 8.502783313589175,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 16.967321433009225,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 25.02573475946758,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 9.559614638270682,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 6.018723374062012,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 14.444231156825149,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 38.819648573869465,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 295.53618415830795,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 16.656327035192863,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 21.70192320909143,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 27.62470971120366,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 61.243256611821366,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 71.19363509153143,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 39.791689013138445,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 22.93409275120629,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 2.8424559807288805,
- hasRDI: true,
- daily: 4.373009201121355,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.5988219035633007,
- hasRDI: true,
- daily: 2.9941095178165034,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.9079904629553007,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.4752772176954892,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 256.2933425129739,
- hasRDI: true,
- daily: 85.4311141709913,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 245.44848611180885,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 10.84485640116503,
- hasRDI: true,
- daily: 43.37942560466012,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 224.03428482589726,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 134.73000000000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 6.857072222033281,
- hasRDI: true,
- daily: 13.714144444066562,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 159.1143655230161,
- hasRDI: true,
- daily: 6.62976523012567,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 85.02783313589174,
- hasRDI: true,
- daily: 8.502783313589175,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 71.26275001863874,
- hasRDI: true,
- daily: 16.967321433009225,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1176.2095336949762,
- hasRDI: true,
- daily: 25.02573475946758,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 1.7207306348887228,
- hasRDI: true,
- daily: 9.559614638270682,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.6620595711468213,
- hasRDI: true,
- daily: 6.018723374062012,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 101.10961809777604,
- hasRDI: true,
- daily: 14.444231156825149,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 349.3768371648252,
- hasRDI: true,
- daily: 38.819648573869465,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 265.98256574247716,
- hasRDI: true,
- daily: 295.53618415830795,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.19987592442231433,
- hasRDI: true,
- daily: 16.656327035192863,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.2821250017181886,
- hasRDI: true,
- daily: 21.70192320909143,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 4.419953553792586,
- hasRDI: true,
- daily: 27.62470971120366,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.7961623359536778,
- hasRDI: true,
- daily: 61.243256611821366,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 284.77454036612573,
- hasRDI: true,
- daily: 71.19363509153143,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 284.77454036612573,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 5.968753351970767,
- hasRDI: true,
- daily: 39.791689013138445,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 27.520911301447548,
- hasRDI: true,
- daily: 22.93409275120629,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 668.4510183569253,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/652403b8d24f805e730642451f4371a1?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_b415e0b1434727d242d3cc7c41aacbd4',
- label: '“Homemade Fruit Leather” recipes',
- image: 'https://www.edamam.com/web-img/f04/f04eae4c305a1b3d5492e89eacde4d76',
- source: 'Georgia Pellegrini',
- url: 'http://georgiapellegrini.com/2010/07/23/recipes/homemade-fruit-leather/',
- shareAs:
- 'http://www.edamam.com/recipe/homemade-fruit-leather-recipes-b415e0b1434727d242d3cc7c41aacbd4/fruit',
- yield: 15,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Keto-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '2 cups fruit pulp',
- '1 tablespoon lemon Juice',
- '¼ cup sugar (optional, depending on the sweetness of your fruit)',
- ],
- ingredients: [
- {
- text: '2 cups fruit pulp',
- weight: 490,
- foodCategory: 'sweetened beverages',
- foodId: 'food_aaluhexb6hatm8a0x8eoaaf5v647',
- image: null,
- },
- {
- text: '1 tablespoon lemon Juice',
- weight: 15.2499999997422,
- foodCategory: '100% juice',
- foodId: 'food_bglm6vxahuauteb0n6ynfbg9eryu',
- image: 'https://www.edamam.com/food-img/e31/e310952d214e78a4cb8b73f30ceeaaf2.jpg',
- },
- {
- text: '¼ cup sugar (optional, depending on the sweetness of your fruit)',
- weight: 50,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- ],
- calories: 343.8549999999433,
- totalWeight: 555.2499999997422,
- totalTime: 740,
- cuisineType: ['mediterranean'],
- mealType: ['breakfast'],
- dishType: ['biscuits and cookies'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 343.8549999999433,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.3795999999993814,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.05019999999989688,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.06461499999998453,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.1404024999999459,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 89.60524999998222,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 4.945749999999227,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 50.2842999999935,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 49.9,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 1.7683749999990979,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 15.352499999997423,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 35.714999999984535,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 25.41499999998453,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 398.9074999997345,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 1.5071999999997936,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.4046249999998711,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 45.31999999997938,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 107.80000000000001,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 15.211749999900231,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.07715999999993813,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.11468749999996135,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 1.8464774999997657,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.16381499999988144,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 17.749999999948443,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 17.749999999948443,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.0228749999996133,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 462.43727499976205,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 17.192749999997165,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.5839999999990483,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.2509999999994844,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 29.868416666660742,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 19.782999999996907,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 3.5367499999981957,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 0.6396874999998926,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 3.5714999999984536,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 6.051190476186793,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 8.487393617015627,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 8.373333333332187,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 3.6784090909079192,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 6.474285714282769,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 11.97777777777778,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 16.90194444433359,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 6.429999999994844,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 8.822115384612411,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 11.540484374998536,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 12.601153846144726,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 4.437499999987111,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.15249999999742198,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 0.3795999999993814,
- hasRDI: true,
- daily: 0.5839999999990483,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.05019999999989688,
- hasRDI: true,
- daily: 0.2509999999994844,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.06461499999998453,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.1404024999999459,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 89.60524999998222,
- hasRDI: true,
- daily: 29.868416666660742,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 84.659499999983,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 4.945749999999227,
- hasRDI: true,
- daily: 19.782999999996907,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 50.2842999999935,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 49.9,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 1.7683749999990979,
- hasRDI: true,
- daily: 3.5367499999981957,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 15.352499999997423,
- hasRDI: true,
- daily: 0.6396874999998926,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 35.714999999984535,
- hasRDI: true,
- daily: 3.5714999999984536,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 25.41499999998453,
- hasRDI: true,
- daily: 6.051190476186793,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 398.9074999997345,
- hasRDI: true,
- daily: 8.487393617015627,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 1.5071999999997936,
- hasRDI: true,
- daily: 8.373333333332187,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.4046249999998711,
- hasRDI: true,
- daily: 3.6784090909079192,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 45.31999999997938,
- hasRDI: true,
- daily: 6.474285714282769,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 107.80000000000001,
- hasRDI: true,
- daily: 11.97777777777778,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 15.211749999900231,
- hasRDI: true,
- daily: 16.90194444433359,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.07715999999993813,
- hasRDI: true,
- daily: 6.429999999994844,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.11468749999996135,
- hasRDI: true,
- daily: 8.822115384612411,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 1.8464774999997657,
- hasRDI: true,
- daily: 11.540484374998536,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.16381499999988144,
- hasRDI: true,
- daily: 12.601153846144726,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 17.749999999948443,
- hasRDI: true,
- daily: 4.437499999987111,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 17.749999999948443,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.0228749999996133,
- hasRDI: true,
- daily: 0.15249999999742198,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 462.43727499976205,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/b415e0b1434727d242d3cc7c41aacbd4?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_80b3e766d2e4ac54870bec0cd666c13c',
- label: 'Passion Fruit Ice Cream',
- image: 'https://www.edamam.com/web-img/9c1/9c11e63b0131e563e24b08aea90575bd.jpg',
- source: 'Use Real Butter',
- url: 'http://userealbutter.com/2010/06/09/passion-fruit-ice-cream-recipe/',
- shareAs:
- 'http://www.edamam.com/recipe/passion-fruit-ice-cream-80b3e766d2e4ac54870bec0cd666c13c/fruit',
- yield: 3,
- dietLabels: ['High-Fiber'],
- healthLabels: [
- 'Vegetarian',
- 'Pescatarian',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1/2 cup Frozen Passion Fruit Pulp',
- '1 cup Heavy Cream',
- '6 tbs Whole Milk',
- '7 tbs Sugar',
- '7 x Salt',
- '3 x Egg Yolks',
- '3 x Passion Fruit Seeds',
- ],
- ingredients: [
- {
- text: '1/2 cup Frozen Passion Fruit Pulp',
- weight: 118,
- foodCategory: 'fruit',
- foodId: 'food_b6nwerkagnmbhiac3tjmtasm5dwm',
- image: 'https://www.edamam.com/food-img/393/393e886951f47632fedd2852531af6d2.jpg',
- },
- {
- text: '1 cup Heavy Cream',
- weight: 238,
- foodCategory: 'Dairy',
- foodId: 'food_bgtkr21b5v16mca246x9ebnaswyo',
- image: 'https://www.edamam.com/food-img/484/4848d71f6a14dd5076083f5e17925420.jpg',
- },
- {
- text: '6 tbs Whole Milk',
- weight: 90,
- foodCategory: 'Milk',
- foodId: 'food_b49rs1kaw0jktabzkg2vvanvvsis',
- image: 'https://www.edamam.com/food-img/7c9/7c9962acf83654a8d98ea6a2ade93735.jpg',
- },
- {
- text: '7 tbs Sugar',
- weight: 87.4999999985209,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '7 x Salt',
- weight: 3.7673999999911256,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '3 x Egg Yolks',
- weight: 40.4,
- foodCategory: 'Eggs',
- foodId: 'food_awlnigdb6qm6i1biwv7rlalfg2ni',
- image: 'https://www.edamam.com/food-img/e3f/e3f697887aec0e8ecf09a9ca8ef3944a.jpg',
- },
- {
- text: '3 x Passion Fruit Seeds',
- weight: 54,
- foodCategory: 'fruit',
- foodId: 'food_b6nwerkagnmbhiac3tjmtasm5dwm',
- image: 'https://www.edamam.com/food-img/393/393e886951f47632fedd2852531af6d2.jpg',
- },
- ],
- calories: 1511.552999994276,
- totalWeight: 631.1576549136264,
- totalTime: 0,
- cuisineType: ['italian'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1511.552999994276,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 102.91116,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 60.454744,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 31.053551999999993,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 5.850955999999999,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 140.1066599985212,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 17.888,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 118.00043999852387,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 87.32499999852386,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 17.905439999999995,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 773.4,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1460.1688919965604,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 330.81283717961054,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 77.59257654915105,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 941.9066123931789,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 4.007820261219108,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1.9936076549149575,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 497.68000000000006,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1283.584,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 53.028,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.16486399999999998,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.8674369999997191,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 2.762616,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.40767999999999993,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 97.084,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 97.084,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1.6212,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 5.0176,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 3.66252,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 9.3728,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 363.2636553098299,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 75.5776499997138,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 158.32486153846153,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 302.27372,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 46.702219999507065,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 71.552,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 35.81087999999999,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 257.8,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 60.84037049985669,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 33.08128371796105,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 18.474422987893107,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 20.040566221131463,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 22.265668117883934,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 18.12370595377234,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 71.09714285714287,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 142.62044444444444,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 58.92,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 13.738666666666667,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 66.72592307690147,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 17.26635,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 31.359999999999992,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 24.271,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 67.55000000000001,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 33.45066666666666,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 24.416800000000002,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 7.810666666666666,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 102.91116,
- hasRDI: true,
- daily: 158.32486153846153,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 60.454744,
- hasRDI: true,
- daily: 302.27372,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 31.053551999999993,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 5.850955999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 140.1066599985212,
- hasRDI: true,
- daily: 46.702219999507065,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 122.21865999852119,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 17.888,
- hasRDI: true,
- daily: 71.552,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 118.00043999852387,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 87.32499999852386,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 17.905439999999995,
- hasRDI: true,
- daily: 35.81087999999999,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 773.4,
- hasRDI: true,
- daily: 257.8,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1460.1688919965604,
- hasRDI: true,
- daily: 60.84037049985669,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 330.81283717961054,
- hasRDI: true,
- daily: 33.08128371796105,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 77.59257654915105,
- hasRDI: true,
- daily: 18.474422987893107,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 941.9066123931789,
- hasRDI: true,
- daily: 20.040566221131463,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 4.007820261219108,
- hasRDI: true,
- daily: 22.265668117883934,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 1.9936076549149575,
- hasRDI: true,
- daily: 18.12370595377234,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 497.68000000000006,
- hasRDI: true,
- daily: 71.09714285714287,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1283.584,
- hasRDI: true,
- daily: 142.62044444444444,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 53.028,
- hasRDI: true,
- daily: 58.92,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.16486399999999998,
- hasRDI: true,
- daily: 13.738666666666667,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.8674369999997191,
- hasRDI: true,
- daily: 66.72592307690147,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 2.762616,
- hasRDI: true,
- daily: 17.26635,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.40767999999999993,
- hasRDI: true,
- daily: 31.359999999999992,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 97.084,
- hasRDI: true,
- daily: 24.271,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 97.084,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 1.6212,
- hasRDI: true,
- daily: 67.55000000000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 5.0176,
- hasRDI: true,
- daily: 33.45066666666666,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 3.66252,
- hasRDI: true,
- daily: 24.416800000000002,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 9.3728,
- hasRDI: true,
- daily: 7.810666666666666,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 363.2636553098299,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/80b3e766d2e4ac54870bec0cd666c13c?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_28ec4e95b3b7af0c6d386469200126a6',
- label: 'Iced Fruit Punch',
- image: 'https://www.edamam.com/web-img/ffb/ffb0bc5db556089d4e111da635ff3e0c.jpg',
- source: 'Delish',
- url: 'http://www.delish.com/cooking/recipe-ideas/recipes/a27302/iced-fruit-punch-3644/',
- shareAs:
- 'http://www.edamam.com/recipe/iced-fruit-punch-28ec4e95b3b7af0c6d386469200126a6/fruit',
- yield: 12,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: [],
- ingredientLines: ['6 c. assorted fruit juices', '3 c. ginger ale', '3 c. Seltzer water'],
- ingredients: [
- {
- text: '6 c. assorted fruit juices',
- weight: 1406.4,
- foodCategory: 'sweetened beverages',
- foodId: 'food_a2sndz3b13ty72a1st6y8an7vq1t',
- image: 'https://www.edamam.com/food-img/66e/66ebbfb337e3ba768925a2771b60cb49.jpg',
- },
- {
- text: '3 c. ginger ale',
- weight: 732,
- foodCategory: 'sweetened beverages',
- foodId: 'food_ae09oqiazn7tlbb0x5yiebtmfslr',
- image: 'https://www.edamam.com/food-img/81d/81d3a248c4ca048ffabc9551cc96217d.jpg',
- },
- {
- text: '3 c. Seltzer water',
- weight: 711,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- ],
- calories: 839.5680000000001,
- totalWeight: 2849.4,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['teatime'],
- dishType: ['drinks'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 839.5680000000001,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 2.3908800000000006,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.29534400000000005,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.29534400000000005,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.5906880000000001,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 224.526,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 224.01360000000003,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 0.9844800000000002,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 150,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 141.73800000000003,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 56.62200000000001,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 935.5440000000002,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 4.130400000000001,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.8279800000000006,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 42.19200000000001,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 67.50720000000001,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.014064000000000002,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.7875840000000002,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 0.7032000000000002,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.154704,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 28.128000000000004,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 28.128000000000004,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 2631.8982000000005,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 41.9784,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 3.6782769230769237,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 1.4767200000000003,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 74.84200000000001,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 1.9689600000000005,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 6.25,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 14.173800000000004,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 13.481428571428573,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 19.90519148936171,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 22.946666666666673,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 25.708909090909096,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 6.0274285714285725,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 75.00800000000001,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.1720000000000002,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 60.58338461538463,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 4.395000000000001,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 11.900307692307694,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 7.032,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 2.3908800000000006,
- hasRDI: true,
- daily: 3.6782769230769237,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.29534400000000005,
- hasRDI: true,
- daily: 1.4767200000000003,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.29534400000000005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.5906880000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 224.526,
- hasRDI: true,
- daily: 74.84200000000001,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 224.526,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 224.01360000000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 0.9844800000000002,
- hasRDI: true,
- daily: 1.9689600000000005,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 150,
- hasRDI: true,
- daily: 6.25,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 141.73800000000003,
- hasRDI: true,
- daily: 14.173800000000004,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 56.62200000000001,
- hasRDI: true,
- daily: 13.481428571428573,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 935.5440000000002,
- hasRDI: true,
- daily: 19.90519148936171,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 4.130400000000001,
- hasRDI: true,
- daily: 22.946666666666673,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.8279800000000006,
- hasRDI: true,
- daily: 25.708909090909096,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 42.19200000000001,
- hasRDI: true,
- daily: 6.0274285714285725,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 67.50720000000001,
- hasRDI: true,
- daily: 75.00800000000001,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.014064000000000002,
- hasRDI: true,
- daily: 1.1720000000000002,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.7875840000000002,
- hasRDI: true,
- daily: 60.58338461538463,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 0.7032000000000002,
- hasRDI: true,
- daily: 4.395000000000001,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.154704,
- hasRDI: true,
- daily: 11.900307692307694,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 28.128000000000004,
- hasRDI: true,
- daily: 7.032,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 28.128000000000004,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 2631.8982000000005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/28ec4e95b3b7af0c6d386469200126a6?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_b2bf0be44b1de1bd67a8c0f63c3bbe23',
- label: 'Passion-Fruit Orangeade',
- image: 'https://www.edamam.com/web-img/2ab/2aba43e1807273fc0a7eddcb2a2ddaf1.jpg',
- source: 'Martha Stewart',
- url: 'https://www.marthastewart.com/1143190/passion-fruit-orangeade',
- shareAs:
- 'http://www.edamam.com/recipe/passion-fruit-orangeade-b2bf0be44b1de1bd67a8c0f63c3bbe23/fruit',
- yield: 4,
- dietLabels: ['High-Fiber', 'Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '15 ripe passion fruit',
- '1 1/2 cups freshly squeezed orange juice (about 4 oranges)',
- '1/4 cup Simple Syrup for Passion-Fruit Orangeade',
- ],
- ingredients: [
- {
- text: '15 ripe passion fruit',
- weight: 270,
- foodCategory: 'fruit',
- foodId: 'food_b6nwerkagnmbhiac3tjmtasm5dwm',
- image: 'https://www.edamam.com/food-img/393/393e886951f47632fedd2852531af6d2.jpg',
- },
- {
- text: '1 1/2 cups freshly squeezed orange juice (about 4 oranges)',
- weight: 372,
- foodCategory: '100% juice',
- foodId: 'food_bn7zicravp7kdrb8h9knhadt6kei',
- image: 'https://www.edamam.com/food-img/011/011c0c3b0f3865bde575f57c556439e4.jpg',
- },
- {
- text: '1/4 cup Simple Syrup for Passion-Fruit Orangeade',
- weight: 79,
- foodCategory: 'sugars',
- foodId: 'food_aftzb4hav0begxbvchpd3bhc9368',
- image: 'https://www.edamam.com/food-img/198/198cf875b0112c3798592532e502e664.jpg',
- },
- ],
- calories: 641.8100000000001,
- totalWeight: 721,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 641.8100000000001,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 2.634,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.24858000000000002,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.36612,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 1.2585,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 159.5946,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 28.824,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 119.316,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 57.828,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 8.544,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 125.14000000000001,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 83.59,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 127.12000000000002,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1733.37,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 7.908,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.6061000000000001,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 253.16000000000003,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 210,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 267,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.4375,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.51,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 5.617000000000001,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.41880000000000006,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 149.4,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 149.4,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.20280000000000004,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 2.262,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 545.927,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 32.090500000000006,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 4.052307692307692,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 1.2429000000000001,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 53.1982,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 115.296,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 17.088,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 5.214166666666667,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 8.359,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 30.26666666666667,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 36.880212765957445,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 43.93333333333334,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 5.510000000000001,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 36.165714285714294,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 23.333333333333332,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 296.6666666666667,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 36.458333333333336,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 39.230769230769226,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 35.10625,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 32.21538461538462,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 37.35,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.3520000000000003,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 1.885,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 2.634,
- hasRDI: true,
- daily: 4.052307692307692,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.24858000000000002,
- hasRDI: true,
- daily: 1.2429000000000001,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.36612,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 1.2585,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 159.5946,
- hasRDI: true,
- daily: 53.1982,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 130.7706,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 28.824,
- hasRDI: true,
- daily: 115.296,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 119.316,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 57.828,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 8.544,
- hasRDI: true,
- daily: 17.088,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 125.14000000000001,
- hasRDI: true,
- daily: 5.214166666666667,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 83.59,
- hasRDI: true,
- daily: 8.359,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 127.12000000000002,
- hasRDI: true,
- daily: 30.26666666666667,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1733.37,
- hasRDI: true,
- daily: 36.880212765957445,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 7.908,
- hasRDI: true,
- daily: 43.93333333333334,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.6061000000000001,
- hasRDI: true,
- daily: 5.510000000000001,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 253.16000000000003,
- hasRDI: true,
- daily: 36.165714285714294,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 210,
- hasRDI: true,
- daily: 23.333333333333332,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 267,
- hasRDI: true,
- daily: 296.6666666666667,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.4375,
- hasRDI: true,
- daily: 36.458333333333336,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.51,
- hasRDI: true,
- daily: 39.230769230769226,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 5.617000000000001,
- hasRDI: true,
- daily: 35.10625,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.41880000000000006,
- hasRDI: true,
- daily: 32.21538461538462,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 149.4,
- hasRDI: true,
- daily: 37.35,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 149.4,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.20280000000000004,
- hasRDI: true,
- daily: 1.3520000000000003,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 2.262,
- hasRDI: true,
- daily: 1.885,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 545.927,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/b2bf0be44b1de1bd67a8c0f63c3bbe23?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_19d009f8db62500d36f3ba7b221c2357',
- label: 'Fruit Soufflé',
- image: 'https://www.edamam.com/web-img/d8d/d8d50af45d94b58c87d0f5d30d1f8df9.jpg',
- source: 'The Daily Meal',
- url: 'http://www.thedailymeal.com/recipes/fruit-souffl-recipe',
- shareAs:
- 'http://www.edamam.com/recipe/fruit-souffl%C3%A9-19d009f8db62500d36f3ba7b221c2357/fruit',
- yield: 20,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 Cup fruit purée of your choice',
- '4 Teaspoons apple pectin',
- '1/4 Cup water',
- '1/2 Cup sugar',
- '8 egg whites',
- '1/2 Cup sugar',
- ],
- ingredients: [
- {
- text: '1 Cup fruit purée of your choice',
- weight: 245,
- foodCategory: 'sweetened beverages',
- foodId: 'food_aaluhexb6hatm8a0x8eoaaf5v647',
- image: null,
- },
- {
- text: '4 Teaspoons apple pectin',
- weight: 9.08333333379405,
- foodCategory: 'fruit',
- foodId: 'food_a1gb9ubb72c7snbuxr3weagwv0dd',
- image: 'https://www.edamam.com/food-img/42c/42c006401027d35add93113548eeaae6.jpg',
- },
- {
- text: '1/4 Cup water',
- weight: 59.25,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- {
- text: '1/2 Cup sugar',
- weight: 100,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '8 egg whites',
- weight: 211.2,
- foodCategory: 'Eggs',
- foodId: 'food_a7hurbpb20zs42bnwg2p8bca3ihs',
- image: 'https://www.edamam.com/food-img/b30/b304a020501418f9a63cf7f9359bc99d.jpg',
- },
- {
- text: '1/2 Cup sugar',
- weight: 100,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- ],
- calories: 962.0473333335729,
- totalWeight: 724.533333333794,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 962.0473333335729,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.54598166666745,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.024593333333462336,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.032485833333365584,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.07323250000023497,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 222.03766833339697,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 2.6680000000110575,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 202.04327833338118,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 199.6,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 23.901916666667866,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 362.402833333338,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 36.25650000002764,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 36.5286666666897,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 549.0751666671597,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 1.014860000000553,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.2889183333335177,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 54.72916666671735,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 54.17250000001383,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 5.072833333354526,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.04674216666674498,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.0189796666667863,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 1.1463258333337527,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.09268416666685557,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 16.070500000013823,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 16.070500000013823,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.19008,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.016350000000829288,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.19983333334346912,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 476.12529000039416,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 48.10236666667865,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.8399717948729999,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.12296666666731168,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 74.01255611113233,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 10.672000000044228,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 47.80383333333573,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 15.100118055555749,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 3.6256500000027647,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 8.697301587307072,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 11.68245035462042,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 5.638111111114183,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.626530303031979,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 7.818452380959621,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 6.019166666668203,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 5.6364814815050295,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 3.895180555562082,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 78.38305128206048,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 7.164536458335954,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 7.129551282065813,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 4.017625000003456,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 7.92,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.10900000000552859,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 0.16652777778622427,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 0.54598166666745,
- hasRDI: true,
- daily: 0.8399717948729999,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.024593333333462336,
- hasRDI: true,
- daily: 0.12296666666731168,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.032485833333365584,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.07323250000023497,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 222.03766833339697,
- hasRDI: true,
- daily: 74.01255611113233,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 219.3696683333859,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 2.6680000000110575,
- hasRDI: true,
- daily: 10.672000000044228,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 202.04327833338118,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 199.6,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 23.901916666667866,
- hasRDI: true,
- daily: 47.80383333333573,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 362.402833333338,
- hasRDI: true,
- daily: 15.100118055555749,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 36.25650000002764,
- hasRDI: true,
- daily: 3.6256500000027647,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 36.5286666666897,
- hasRDI: true,
- daily: 8.697301587307072,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 549.0751666671597,
- hasRDI: true,
- daily: 11.68245035462042,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 1.014860000000553,
- hasRDI: true,
- daily: 5.638111111114183,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.2889183333335177,
- hasRDI: true,
- daily: 2.626530303031979,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 54.72916666671735,
- hasRDI: true,
- daily: 7.818452380959621,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 54.17250000001383,
- hasRDI: true,
- daily: 6.019166666668203,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 5.072833333354526,
- hasRDI: true,
- daily: 5.6364814815050295,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.04674216666674498,
- hasRDI: true,
- daily: 3.895180555562082,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.0189796666667863,
- hasRDI: true,
- daily: 78.38305128206048,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 1.1463258333337527,
- hasRDI: true,
- daily: 7.164536458335954,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.09268416666685557,
- hasRDI: true,
- daily: 7.129551282065813,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 16.070500000013823,
- hasRDI: true,
- daily: 4.017625000003456,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 16.070500000013823,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.19008,
- hasRDI: true,
- daily: 7.92,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.016350000000829288,
- hasRDI: true,
- daily: 0.10900000000552859,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 0.19983333334346912,
- hasRDI: true,
- daily: 0.16652777778622427,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 476.12529000039416,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/19d009f8db62500d36f3ba7b221c2357?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_6229daddde01c167e97dd08936d2d205',
- label: 'Tropical Fruit Slush',
- image: 'https://www.edamam.com/web-img/830/830993cc62fd36c34a5e3698f12de589.jpg',
- source: 'My Recipes',
- url: 'http://www.myrecipes.com/recipe/tropical-fruit-slush',
- shareAs:
- 'http://www.edamam.com/recipe/tropical-fruit-slush-6229daddde01c167e97dd08936d2d205/fruit',
- yield: 4,
- dietLabels: [],
- healthLabels: [
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Wheat', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '1 pint passion-fruit sorbet',
- '1 cup guava juice',
- '1 cup papaya juice',
- '1 cup passionfruit rum',
- '3 cups crushed ice',
- 'Garnish: sliced star fruit',
- ],
- ingredients: [
- {
- text: '1 pint passion-fruit sorbet',
- weight: 480,
- foodCategory: 'frozen treats',
- foodId: 'food_bb0gx1jbgwfbl6b7fnyhhbpoxd4h',
- image: 'https://www.edamam.com/food-img/6f6/6f6caa41014c15fa613abef327a63b7e.jpg',
- },
- {
- text: '1 cup guava juice',
- weight: 251,
- foodCategory: 'canned fruit',
- foodId: 'food_afijv2wb8e3xxaaiieqakbykjhge',
- image: 'https://www.edamam.com/food-img/4ac/4ac4f1ed31a8963a68af90cab9681449.jpg',
- },
- {
- text: '1 cup papaya juice',
- weight: 250,
- foodCategory: 'canned fruit',
- foodId: 'food_bozf3vgb2r82bva85xj71a5apu30',
- image: 'https://www.edamam.com/food-img/927/927c7564eab869219624fe3b0ba531ef.jpg',
- },
- {
- text: '1 cup passionfruit rum',
- weight: 223.999999998738,
- foodCategory: 'liquors and cocktails',
- foodId: 'food_bi9pqpkbrb86k8aowifmbbxwzgng',
- image: 'https://www.edamam.com/food-img/eb5/eb51e606b36b62c66ea1a245ab0d4a8b.jpg',
- },
- {
- text: '3 cups crushed ice',
- weight: 711,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- {
- text: 'Garnish: sliced star fruit',
- weight: 0,
- foodCategory: 'fruit',
- foodId: 'food_bho2lf2b0mb8uea94o2jcagdd26v',
- image: 'https://www.edamam.com/food-img/800/800f2ce645428deb822bb648d8d57464.jpg',
- },
- ],
- calories: 1370.0699999970848,
- totalWeight: 1915.999999998738,
- totalTime: 0,
- cuisineType: ['caribbean'],
- mealType: ['lunch/dinner'],
- dishType: ['drinks'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1370.0699999970848,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.5256000000000001,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.16770000000000002,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.1527,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.1126,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 220.1025,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 8.81,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 205.51950000000002,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 0.6509,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 82.23999999998739,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 66.41,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 19.63,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 179.86999999997477,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 2.072599999998486,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.6781999999991167,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 16.2199999999369,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 45,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 175.661,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.04044999999989904,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.01753,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 0.8017000000000001,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.0476,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 12.530000000000001,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 12.530000000000001,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.7255,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 4.51,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1281.6330999991596,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 68.50349999985423,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 0.8086153846153847,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.8385000000000001,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 73.3675,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 35.24,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 1.3018,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 3.4266666666661414,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 6.641,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 4.673809523809524,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 3.8270212765952074,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 11.514444444436034,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 6.165454545446516,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2.3171428571338426,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 5,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 195.17888888888888,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 3.3708333333249203,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.3484615384615386,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 5.010625,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.661538461538462,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 3.1325,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 4.836666666666667,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 3.7583333333333333,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 0.5256000000000001,
- hasRDI: true,
- daily: 0.8086153846153847,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.16770000000000002,
- hasRDI: true,
- daily: 0.8385000000000001,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.1527,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.1126,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 220.1025,
- hasRDI: true,
- daily: 73.3675,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 211.2925,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 8.81,
- hasRDI: true,
- daily: 35.24,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 205.51950000000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 0.6509,
- hasRDI: true,
- daily: 1.3018,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 82.23999999998739,
- hasRDI: true,
- daily: 3.4266666666661414,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 66.41,
- hasRDI: true,
- daily: 6.641,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 19.63,
- hasRDI: true,
- daily: 4.673809523809524,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 179.86999999997477,
- hasRDI: true,
- daily: 3.8270212765952074,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 2.072599999998486,
- hasRDI: true,
- daily: 11.514444444436034,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.6781999999991167,
- hasRDI: true,
- daily: 6.165454545446516,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 16.2199999999369,
- hasRDI: true,
- daily: 2.3171428571338426,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 45,
- hasRDI: true,
- daily: 5,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 175.661,
- hasRDI: true,
- daily: 195.17888888888888,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.04044999999989904,
- hasRDI: true,
- daily: 3.3708333333249203,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.01753,
- hasRDI: true,
- daily: 1.3484615384615386,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 0.8017000000000001,
- hasRDI: true,
- daily: 5.010625,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.0476,
- hasRDI: true,
- daily: 3.661538461538462,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 12.530000000000001,
- hasRDI: true,
- daily: 3.1325,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 12.530000000000001,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.7255,
- hasRDI: true,
- daily: 4.836666666666667,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 4.51,
- hasRDI: true,
- daily: 3.7583333333333333,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1281.6330999991596,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/6229daddde01c167e97dd08936d2d205?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_c05724489efffb6d3cfc9b497fc9c2b5',
- label: 'Boozy Dried Fruit',
- image: 'https://www.edamam.com/web-img/956/95684e016446a5fd03982eabcc142218.jpg',
- source: 'Food52',
- url: 'https://food52.com/recipes/78284-boozy-dried-fruit',
- shareAs:
- 'http://www.edamam.com/recipe/boozy-dried-fruit-c05724489efffb6d3cfc9b497fc9c2b5/fruit',
- yield: 4,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Wheat', 'Sulfites'],
- ingredientLines: [
- '175 grams (1 1/2 cups) mixed dried fruit of your choice, chopped 1/4-inch (e.g. a mixture of dark and golden raisins, dried figs, apricots, and cranberries)',
- '50 grams (1/3 cup) candied lemon or orange peel (or more dried fruit), chopped 1/4-inch',
- '75 grams (1/4 cup plus 1 tablespoon) light or dark rum or apple juice',
- ],
- ingredients: [
- {
- text: '175 grams (1 1/2 cups) mixed dried fruit of your choice, chopped 1/4-inch (e.g. a mixture of dark and golden raisins, dried figs, apricots, and cranberries)',
- weight: 175,
- foodCategory: 'fruit',
- foodId: 'food_bldu6vjaardup4b7jd52sbat4z6g',
- image: 'https://www.edamam.com/food-img/eb3/eb345bd9c7f8242e479545e8146c8b35.jpg',
- },
- {
- text: '50 grams (1/3 cup) candied lemon or orange peel (or more dried fruit), chopped 1/4-inch',
- weight: 50,
- foodCategory: 'fruit',
- foodId: 'food_b4g0yyrb23ih2rajszgs8bjpe2nn',
- image: 'https://www.edamam.com/food-img/cd4/cd456545c89e1e4c319f3cf1b5bff9e6.jpg',
- },
- {
- text: '75 grams (1/4 cup plus 1 tablespoon) light or dark rum or apple juice',
- weight: 75,
- foodCategory: 'liquors and cocktails',
- foodId: 'food_bi9pqpkbrb86k8aowifmbbxwzgng',
- image: 'https://www.edamam.com/food-img/eb5/eb51e606b36b62c66ea1a245ab0d4a8b.jpg',
- },
- ],
- calories: 640,
- totalWeight: 300,
- totalTime: 10,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['cereals'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 640,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 1.4300000000000002,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.15550000000000003,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.5045000000000001,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 0.66225,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 119.8275,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 19.65,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 73.045,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 7.0675,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 14.5,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 129.5,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 84.5,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1850.5,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 7.595,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1.175,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 222.5,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 199.5,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 76.4,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.0695,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.416,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 8.10625,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.20525,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 15,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 15,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.4575,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 27.474999999999998,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 141.85,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 32,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 2.2000000000000006,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.7775000000000001,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 39.9425,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 78.6,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 14.135,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 0.6041666666666666,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 12.95,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 20.11904761904762,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 39.37234042553192,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 42.19444444444444,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 10.681818181818182,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 31.785714285714285,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 22.166666666666668,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 84.8888888888889,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 5.791666666666668,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 32,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 50.66406249999999,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 15.788461538461537,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 3.75,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 3.05,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 22.895833333333332,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 1.4300000000000002,
- hasRDI: true,
- daily: 2.2000000000000006,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.15550000000000003,
- hasRDI: true,
- daily: 0.7775000000000001,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.5045000000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 0.66225,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 119.8275,
- hasRDI: true,
- daily: 39.9425,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 100.17750000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 19.65,
- hasRDI: true,
- daily: 78.6,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 73.045,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 7.0675,
- hasRDI: true,
- daily: 14.135,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 14.5,
- hasRDI: true,
- daily: 0.6041666666666666,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 129.5,
- hasRDI: true,
- daily: 12.95,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 84.5,
- hasRDI: true,
- daily: 20.11904761904762,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1850.5,
- hasRDI: true,
- daily: 39.37234042553192,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 7.595,
- hasRDI: true,
- daily: 42.19444444444444,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 1.175,
- hasRDI: true,
- daily: 10.681818181818182,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 222.5,
- hasRDI: true,
- daily: 31.785714285714285,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 199.5,
- hasRDI: true,
- daily: 22.166666666666668,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 76.4,
- hasRDI: true,
- daily: 84.8888888888889,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.0695,
- hasRDI: true,
- daily: 5.791666666666668,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.416,
- hasRDI: true,
- daily: 32,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 8.10625,
- hasRDI: true,
- daily: 50.66406249999999,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.20525,
- hasRDI: true,
- daily: 15.788461538461537,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 15,
- hasRDI: true,
- daily: 3.75,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 15,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.4575,
- hasRDI: true,
- daily: 3.05,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 27.474999999999998,
- hasRDI: true,
- daily: 22.895833333333332,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 141.85,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/c05724489efffb6d3cfc9b497fc9c2b5?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_38ca035df4107b51478c3e24c953fe69',
- label: 'Passion-Fruit Nieve',
- image: 'https://www.edamam.com/web-img/d44/d44aa7b5f57499bb80df7f5de2b0cbe4.jpg',
- source: 'Epicurious',
- url: 'https://www.epicurious.com/recipes/food/views/passion-fruit-nieve-232019',
- shareAs:
- 'http://www.edamam.com/recipe/passion-fruit-nieve-38ca035df4107b51478c3e24c953fe69/fruit',
- yield: 6,
- dietLabels: ['High-Fiber', 'Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Vegetarian',
- 'Pescatarian',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '3 cups passion-fruit nectar (24 fl oz), chilled',
- '2/3 cup light corn syrup',
- '2 tablespoons fresh lime juice',
- 'an ice cream maker',
- ],
- ingredients: [
- {
- text: '3 cups passion-fruit nectar (24 fl oz), chilled',
- weight: 708,
- foodCategory: 'fruit',
- foodId: 'food_b6nwerkagnmbhiac3tjmtasm5dwm',
- image: 'https://www.edamam.com/food-img/393/393e886951f47632fedd2852531af6d2.jpg',
- },
- {
- text: '2/3 cup light corn syrup',
- weight: 227.33333333333331,
- foodCategory: 'sugars',
- foodId: 'food_b8n4w6faic9hd1a7t9vx1bxq42wr',
- image: 'https://www.edamam.com/food-img/148/1488bb6a128ff5142e0a52d5eeb36d36.jpg',
- },
- {
- text: '2 tablespoons fresh lime juice',
- weight: 30.799999999479265,
- foodCategory: 'fruit',
- foodId: 'food_b0iywbmaujvd4eblrooo9bsvn7e6',
- image: 'https://www.edamam.com/food-img/8f0/8f0c10eb3dbf476a05e61018e76ea220.jpg',
- },
- {
- text: 'an ice cream maker',
- weight: 16.7379412374123,
- foodCategory: 'frozen treats',
- foodId: 'food_bsg87una16tr8waipd66na9drm1k',
- image: 'https://www.edamam.com/food-img/1be/1be43587dc55730fc761aedf4f3df090.jpg',
- },
- ],
- calories: 1372.4608716946464,
- totalWeight: 982.8712745702248,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1372.4608716946464,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 7.273400202781655,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 1.5566902100202535,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 1.1082934753387295,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 2.992619494392984,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 346.64318079865205,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 73.87236558865982,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 257.89211113057,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 178.07559113057886,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 16.291187943307246,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 7.364694144461413,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 353.1930196565861,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 140.24989811714818,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 212.4006451065294,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2535.457836395175,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 11.370784147113204,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1.8483984612043947,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 503.32683829921,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 473.48677066013613,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 221.74042764726826,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.1486892225738755,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.9651910589697115,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 10.68315201183466,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.7277382117937601,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 103.03689706181855,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 103.03689706181855,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.06527797082590797,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.0334758824748246,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.25957382371109133,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 5.1910138237091115,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 606.3725974876821,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 68.62304358473233,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 11.189846465817931,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 7.7834510501012675,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 115.547726932884,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 295.4894623546393,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 32.58237588661449,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 2.454898048153804,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 14.716375819024421,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 14.02498981171482,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 50.57158216822129,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 53.9459114126633,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 63.1710230395178,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 16.803622374585405,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 71.90383404274428,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 52.60964118445957,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 246.3782529414092,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 12.39076854782296,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 74.24546607459318,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 66.76970007396662,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 55.97986244567385,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 25.759224265454638,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 2.719915451079499,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.22317254983216403,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.7304921580739423,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 4.325844853090926,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 7.273400202781655,
- hasRDI: true,
- daily: 11.189846465817931,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 1.5566902100202535,
- hasRDI: true,
- daily: 7.7834510501012675,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 1.1082934753387295,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 2.992619494392984,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 346.64318079865205,
- hasRDI: true,
- daily: 115.547726932884,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 272.77081520999224,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 73.87236558865982,
- hasRDI: true,
- daily: 295.4894623546393,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 257.89211113057,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 178.07559113057886,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 16.291187943307246,
- hasRDI: true,
- daily: 32.58237588661449,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 7.364694144461413,
- hasRDI: true,
- daily: 2.454898048153804,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 353.1930196565861,
- hasRDI: true,
- daily: 14.716375819024421,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 140.24989811714818,
- hasRDI: true,
- daily: 14.02498981171482,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 212.4006451065294,
- hasRDI: true,
- daily: 50.57158216822129,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2535.457836395175,
- hasRDI: true,
- daily: 53.9459114126633,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 11.370784147113204,
- hasRDI: true,
- daily: 63.1710230395178,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 1.8483984612043947,
- hasRDI: true,
- daily: 16.803622374585405,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 503.32683829921,
- hasRDI: true,
- daily: 71.90383404274428,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 473.48677066013613,
- hasRDI: true,
- daily: 52.60964118445957,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 221.74042764726826,
- hasRDI: true,
- daily: 246.3782529414092,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.1486892225738755,
- hasRDI: true,
- daily: 12.39076854782296,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.9651910589697115,
- hasRDI: true,
- daily: 74.24546607459318,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 10.68315201183466,
- hasRDI: true,
- daily: 66.76970007396662,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.7277382117937601,
- hasRDI: true,
- daily: 55.97986244567385,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 103.03689706181855,
- hasRDI: true,
- daily: 25.759224265454638,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 103.03689706181855,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.06527797082590797,
- hasRDI: true,
- daily: 2.719915451079499,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.0334758824748246,
- hasRDI: true,
- daily: 0.22317254983216403,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.25957382371109133,
- hasRDI: true,
- daily: 1.7304921580739423,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 5.1910138237091115,
- hasRDI: true,
- daily: 4.325844853090926,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 606.3725974876821,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/38ca035df4107b51478c3e24c953fe69?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_07fbab15f4532a58bf587f91d69189fd',
- label: 'Frozen fruit sticks with passion fruit & lime drizzle',
- image: 'https://www.edamam.com/web-img/99b/99be094930132c50bf9b7db822c60b71.jpg',
- source: 'BBC Good Food',
- url: 'http://www.bbcgoodfood.com/recipes/1507672/frozen-fruit-sticks-with-passion-fruit-and-lime-dr',
- shareAs:
- 'http://www.edamam.com/recipe/frozen-fruit-sticks-with-passion-fruit-lime-drizzle-07fbab15f4532a58bf587f91d69189fd/fruit',
- yield: 8,
- dietLabels: ['Low-Fat', 'Low-Sodium'],
- healthLabels: [
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '100g strawberries, hulled and halved',
- '8 seedless grapes',
- '100g/4oz mango chunks',
- '100g/4oz melon chunks',
- '2 kiwi fruit, peeled and cut into chunks',
- '100g/4oz pineapple chunks',
- 'juice 2 limes',
- '4 passion fruit, halved and seeds scraped out',
- '1 tsp icing sugar',
- ],
- ingredients: [
- {
- text: '100g strawberries, hulled and halved',
- weight: 100,
- foodCategory: 'fruit',
- foodId: 'food_b4s2ibkbrrucmbabbaxhfau8ay42',
- image: 'https://www.edamam.com/food-img/00c/00c8851e401bf7975be7f73499b4b573.jpg',
- },
- {
- text: '8 seedless grapes',
- weight: 39.2,
- foodCategory: 'fruit',
- foodId: 'food_bncple4a2uagu1b4hov92budz2vs',
- image: 'https://www.edamam.com/food-img/ca5/ca55ac74deb991d159942c65777115df.jpg',
- },
- {
- text: '100g/4oz mango chunks',
- weight: 100,
- foodCategory: 'fruit',
- foodId: 'food_an1dqoib8xj3tyb3pr7c0abi4rbw',
- image: 'https://www.edamam.com/food-img/6e0/6e04857756d0876f14bfc035ff238e0b.png',
- },
- {
- text: '100g/4oz melon chunks',
- weight: 100,
- foodCategory: 'fruit',
- foodId: 'food_b2eupkrbr3b81waz5nxitbdzdzde',
- image: 'https://www.edamam.com/food-img/b1b/b1b603c35a63d662e3359d4e55b31653.jpg',
- },
- {
- text: '2 kiwi fruit, peeled and cut into chunks',
- weight: 138,
- foodCategory: 'fruit',
- foodId: 'food_bqj114aab4xnl6b6j3dt0bi4sznd',
- image: 'https://www.edamam.com/food-img/dba/dbabbf58b6a43c9b65014f4c789d4409.jpg',
- },
- {
- text: '100g/4oz pineapple chunks',
- weight: 100,
- foodCategory: 'fruit',
- foodId: 'food_b5maw38amr54vpat8d5vhbgmqfxn',
- image: 'https://www.edamam.com/food-img/2da/2da6f2397ab64ed185c082edebc4dd7c.jpg',
- },
- {
- text: 'juice 2 limes',
- weight: 134,
- foodCategory: 'fruit',
- foodId: 'food_av58muyb8kg92fbk0g8g8aui5knv',
- image: 'https://www.edamam.com/food-img/48a/48a123c9576647c4ada6a41df5eeb22a.jpg',
- },
- {
- text: '4 passion fruit, halved and seeds scraped out',
- weight: 72,
- foodCategory: 'fruit',
- foodId: 'food_b6nwerkagnmbhiac3tjmtasm5dwm',
- image: 'https://www.edamam.com/food-img/393/393e886951f47632fedd2852531af6d2.jpg',
- },
- {
- text: '1 tsp icing sugar',
- weight: 2.5,
- foodCategory: 'sugars',
- foodId: 'food_b7rbtshahirxisbtyc77sbv8jdue',
- image: 'https://www.edamam.com/food-img/290/290624aa4c0e279551e462443e38bb40.jpg',
- },
- ],
- calories: 406.99300000000005,
- totalWeight: 785.7,
- totalTime: 20,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 406.99300000000005,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 2.5423200000000006,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 0.300148,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 0.353984,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 1.1314959999999998,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 104.71744999999999,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 21.6328,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 67.50821,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 2.44525,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 7.247439999999999,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 46.81399999999999,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 152.725,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 102.12400000000001,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1589.7220000000002,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 3.59642,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.97029,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 188.84,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 282.456,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 369.4744000000001,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.27650800000000003,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.293815,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 4.181276,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.6002719999999999,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 162.084,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 162.084,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 3.6584800000000004,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 72.24520000000001,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 667.55203,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 20.34965,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 3.9112615384615395,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 1.50074,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 34.90581666666667,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 86.53119999999998,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 14.494879999999998,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 1.9505833333333331,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 15.2725,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 24.315238095238097,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 33.82387234042553,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 19.98011111111111,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 8.820818181818181,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 26.97714285714286,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 31.384000000000004,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 410.5271111111112,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 23.04233333333334,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 22.601153846153846,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 26.132975000000002,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 46.17476923076922,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 40.521,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 24.389866666666666,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 60.204333333333345,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 2.5423200000000006,
- hasRDI: true,
- daily: 3.9112615384615395,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 0.300148,
- hasRDI: true,
- daily: 1.50074,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 0.353984,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 1.1314959999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 104.71744999999999,
- hasRDI: true,
- daily: 34.90581666666667,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 83.08464999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 21.6328,
- hasRDI: true,
- daily: 86.53119999999998,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 67.50821,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 2.44525,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 7.247439999999999,
- hasRDI: true,
- daily: 14.494879999999998,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 46.81399999999999,
- hasRDI: true,
- daily: 1.9505833333333331,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 152.725,
- hasRDI: true,
- daily: 15.2725,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 102.12400000000001,
- hasRDI: true,
- daily: 24.315238095238097,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1589.7220000000002,
- hasRDI: true,
- daily: 33.82387234042553,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 3.59642,
- hasRDI: true,
- daily: 19.98011111111111,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.97029,
- hasRDI: true,
- daily: 8.820818181818181,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 188.84,
- hasRDI: true,
- daily: 26.97714285714286,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 282.456,
- hasRDI: true,
- daily: 31.384000000000004,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 369.4744000000001,
- hasRDI: true,
- daily: 410.5271111111112,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.27650800000000003,
- hasRDI: true,
- daily: 23.04233333333334,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.293815,
- hasRDI: true,
- daily: 22.601153846153846,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 4.181276,
- hasRDI: true,
- daily: 26.132975000000002,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.6002719999999999,
- hasRDI: true,
- daily: 46.17476923076922,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 162.084,
- hasRDI: true,
- daily: 40.521,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 162.084,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 3.6584800000000004,
- hasRDI: true,
- daily: 24.389866666666666,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 72.24520000000001,
- hasRDI: true,
- daily: 60.204333333333345,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 667.55203,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/07fbab15f4532a58bf587f91d69189fd?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- ],
-};
-
-export const saladRecipes = {
- from: 1,
- to: 20,
- count: 10000,
- _links: {
- next: {
- href: 'https://api.edamam.com/api/recipes/v2?q=salad&app_key=fd382a172ba8d6668c0430dc9c14a181&_cont=CHcVQBtNNQphDmgVQntAEX4BYlNtBAoBRGREC2oaZld1BwUPUXlSBWVCagNzAVZWEm1CVTFFYgAlDAIFRWURUmcaZQN2AQIVLnlSVSBMPkd5BgMbUSYRVTdgMgksRlpSAAcRXTVGcV84SU4%3D&type=public&app_id=ea1d37d5',
- title: 'Next page',
- },
- },
- hits: [
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_b20815eac65ee2fa5f848f56c16056dd',
- label: 'Zuni-Inspired Grilled Chicken Salad',
- image: 'https://images.unsplash.com/photo-1709707700440-880e74a8c485',
- source: 'Food52',
- url: 'https://food52.com/recipes/82361-zuni-inspired-grilled-chicken-salad-recipe',
- shareAs:
- 'http://www.edamam.com/recipe/zuni-inspired-grilled-chicken-salad-b20815eac65ee2fa5f848f56c16056dd/salad',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Paleo',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 pound boneless, skinless chicken breasts',
- '3/4 teaspoon kosher salt, divided, plus more for salad',
- '1 tablespoon olive oil, plus more for salad',
- '1/4 cup aioli or 1/4 cup mayo + 1 small garlic clove, grated',
- 'Zest and juice of 1 lemon, plus more for salad',
- 'Your favorite greens and fresh herbs, for salad',
- ],
- ingredients: [
- {
- text: '1 pound boneless, skinless chicken breasts',
- weight: 453.59237,
- foodCategory: 'Poultry',
- foodId: 'food_bdrxu94aj3x2djbpur8dhagfhkcn',
- image: 'https://www.edamam.com/food-img/da5/da510379d3650787338ca16fb69f4c94.jpg',
- },
- {
- text: '3/4 teaspoon kosher salt, divided, plus more for salad',
- weight: 3.6406250001846567,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1 tablespoon olive oil, plus more for salad',
- weight: 13.5,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '1/4 cup aioli or 1/4 cup mayo + 1 small garlic clove, grated',
- weight: 57.75,
- foodCategory: 'condiments and sauces',
- foodId: 'food_bu8t61zaplle7dbrzk81dbygq0qj',
- image: 'https://www.edamam.com/food-img/577/577308a0422357885c94cc9b5f1f1862.jpg',
- },
- {
- text: 'Zest and juice of 1 lemon, plus more for salad',
- weight: 58,
- foodCategory: 'fruit',
- foodId: 'food_a6uzc62astrxcgbtzyq59b6fncrr',
- image: 'https://www.edamam.com/food-img/70a/70acba3d4c734d7c70ef4efeed85dc8f.jpg',
- },
- {
- text: 'Your favorite greens and fresh herbs, for salad',
- weight: 5.864829950001847,
- foodCategory: 'vegetables',
- foodId: 'food_b244pqdazw24zobr5vqu2bf0uid8',
- image: 'https://www.edamam.com/food-img/46a/46a132e96626d7989b4d6ed8c91f4da0.jpg',
- },
- ],
- calories: 1082.2121827820008,
- totalWeight: 590.8408973752244,
- totalTime: 20,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['salad', 'main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1082.2121827820008,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 70.07195225060502,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 11.089416618634003,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.031751465900000005,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 24.14441767765251,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 30.083229037938004,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 5.776843735835117,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 1.8175393883500608,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 1.4998510545750157,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 102.87046869951507,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 353.6449301,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1369.0268193397305,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 46.50017121305595,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 134.59961554925314,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1627.835369517028,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 2.472552427403349,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 3.184115493890243,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 978.8333494710012,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 57.02239998950778,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 38.54022383350245,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.4546205815570017,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.8202060282510018,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 43.67987273724353,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.730312467655003,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 56.11785482400281,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 56.11785482400281,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.952543977,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 4.608353496625014,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 105.2173959200303,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 391.96147117399715,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 54.110609139100035,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 107.80300346246928,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 55.44708309317001,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 1.9256145786117058,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 7.270157553400242,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 205.74093739903014,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 117.88164336666667,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 57.04278413915544,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 4.650017121305595,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 32.04752751172694,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 34.634795096106984,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 13.736402374463049,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 28.946504489911305,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 139.83333563871446,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 6.335822221056421,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 42.82247092611384,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 37.88504846308348,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 63.09277140392321,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 272.99920460777207,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 286.94711289653867,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 14.029463706000705,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 39.689332375,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 30.722356644166762,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 87.68116326669193,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 70.07195225060502,
- hasRDI: true,
- daily: 107.80300346246928,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 11.089416618634003,
- hasRDI: true,
- daily: 55.44708309317001,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.031751465900000005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 24.14441767765251,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 30.083229037938004,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 5.776843735835117,
- hasRDI: true,
- daily: 1.9256145786117058,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 3.959304347485056,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 1.8175393883500608,
- hasRDI: true,
- daily: 7.270157553400242,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 1.4998510545750157,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 102.87046869951507,
- hasRDI: true,
- daily: 205.74093739903014,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 353.6449301,
- hasRDI: true,
- daily: 117.88164336666667,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1369.0268193397305,
- hasRDI: true,
- daily: 57.04278413915544,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 46.50017121305595,
- hasRDI: true,
- daily: 4.650017121305595,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 134.59961554925314,
- hasRDI: true,
- daily: 32.04752751172694,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1627.835369517028,
- hasRDI: true,
- daily: 34.634795096106984,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 2.472552427403349,
- hasRDI: true,
- daily: 13.736402374463049,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 3.184115493890243,
- hasRDI: true,
- daily: 28.946504489911305,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 978.8333494710012,
- hasRDI: true,
- daily: 139.83333563871446,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 57.02239998950778,
- hasRDI: true,
- daily: 6.335822221056421,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 38.54022383350245,
- hasRDI: true,
- daily: 42.82247092611384,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.4546205815570017,
- hasRDI: true,
- daily: 37.88504846308348,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.8202060282510018,
- hasRDI: true,
- daily: 63.09277140392321,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 43.67987273724353,
- hasRDI: true,
- daily: 272.99920460777207,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.730312467655003,
- hasRDI: true,
- daily: 286.94711289653867,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 56.11785482400281,
- hasRDI: true,
- daily: 14.029463706000705,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 56.11785482400281,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.952543977,
- hasRDI: true,
- daily: 39.689332375,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 4.608353496625014,
- hasRDI: true,
- daily: 30.722356644166762,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 105.2173959200303,
- hasRDI: true,
- daily: 87.68116326669193,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 391.96147117399715,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/b20815eac65ee2fa5f848f56c16056dd?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_dd4a76ee9f4ce2efd21e40e3d620f8c4',
- label: 'Steak & Chips Salad',
- image: 'https://www.edamam.com/web-img/72e/72ebeef4f13b029165ce5fc4a675130e.jpg',
- source: 'BBC Good Food',
- url: 'http://www.bbcgoodfood.com/recipes/3076/',
- shareAs:
- 'http://www.edamam.com/recipe/steak-chips-salad-dd4a76ee9f4ce2efd21e40e3d620f8c4/salad',
- yield: 4,
- dietLabels: ['High-Fiber'],
- healthLabels: [
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- ],
- cautions: [],
- ingredientLines: [
- '750.0g bag frozen potato wedges',
- '1.0 tbsp olive oil',
- '2 pieces sirloin steak , about 350g/12oz in total',
- '120.0g bag herb salad',
- '6.0 tbsp honey and mustard salad dessing , bought or homemade',
- ],
- ingredients: [
- {
- text: '750.0g bag frozen potato wedges',
- weight: 750,
- foodCategory: 'vegetables',
- foodId: 'food_abiw5baauresjmb6xpap2bg3otzu',
- image: 'https://www.edamam.com/food-img/651/6512e82417bce15c2899630c1a2799df.jpg',
- },
- {
- text: '1.0 tbsp olive oil',
- weight: 13.5,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '2 pieces sirloin steak , about 350g/12oz in total',
- weight: 680,
- foodCategory: 'meats',
- foodId: 'food_aifm62daw1i6txalya881bcetyzn',
- image: 'https://www.edamam.com/food-img/4f1/4f10105d5c8178f25590ca6dfcd37fca.jpg',
- },
- {
- text: '120.0g bag herb salad',
- weight: 120,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_avsq22zadwyb5cb5sl1byaa4mbo8',
- image: 'https://www.edamam.com/food-img/89b/89b37a04e46e052671d73addcb84aa51.jpg',
- },
- {
- text: '6.0 tbsp honey and mustard salad dessing , bought or homemade',
- weight: 126,
- foodCategory: null,
- foodId: 'food_bn6aoj9atkqx8fbkli859bbbxx62',
- image: 'https://www.edamam.com/food-img/198/198c7b25c23b4235b4cc33818c7b335f.jpg',
- },
- {
- text: '6.0 tbsp honey and mustard salad dessing , bought or homemade',
- weight: 93.3749999984214,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a34cdj5b0kyuhfbov30xcb50u4dv',
- image: 'https://www.edamam.com/food-img/e23/e238f2e4cfa6aa1a30f46dc73e7344eb.jpg',
- },
- ],
- calories: 2922.3049999990526,
- totalWeight: 1782.8749999984213,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2922.3049999990526,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 123.31372499994727,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 44.72330249999663,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.008403749999857926,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 54.04817749996556,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 7.586227499987782,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 317.02076249990796,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 64.88699999993686,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 112.23224999998548,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 103.47120000000001,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 165.40822499994096,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 530.4,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1493.9699999825725,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 2594.5212499990057,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 619.8399999992423,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 6443.084999997601,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 166.20613749997457,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 34.741799999989894,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2005.3849999982951,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 232.66874999992106,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 208.66012499999525,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.741273749997206,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.4032424999988948,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 58.20302874999108,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 6.612902499998896,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 532.6562499998895,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 532.6562499998895,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 7.548,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 13.840399999994318,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 2091.284249999978,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1145.2335499986787,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 146.11524999995262,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 189.71342307684193,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 223.61651249998312,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 105.67358749996932,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 259.54799999974745,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 330.81644999988185,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 176.8,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 62.24874999927386,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 259.4521249999006,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 147.58095238077198,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 137.08691489356596,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 923.3674305554143,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 315.8345454544536,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 286.4835714283279,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 25.85208333332456,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 231.84458333332805,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 145.1061458331005,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 107.94173076914575,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 363.76892968744426,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 508.6848076922227,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 133.16406249997237,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 314.5,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 92.26933333329545,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 1742.7368749999814,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 123.31372499994727,
- hasRDI: true,
- daily: 189.71342307684193,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 44.72330249999663,
- hasRDI: true,
- daily: 223.61651249998312,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.008403749999857926,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 54.04817749996556,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 7.586227499987782,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 317.02076249990796,
- hasRDI: true,
- daily: 105.67358749996932,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 252.1337624999711,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 64.88699999993686,
- hasRDI: true,
- daily: 259.54799999974745,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 112.23224999998548,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 103.47120000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 165.40822499994096,
- hasRDI: true,
- daily: 330.81644999988185,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 530.4,
- hasRDI: true,
- daily: 176.8,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1493.9699999825725,
- hasRDI: true,
- daily: 62.24874999927386,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 2594.5212499990057,
- hasRDI: true,
- daily: 259.4521249999006,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 619.8399999992423,
- hasRDI: true,
- daily: 147.58095238077198,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 6443.084999997601,
- hasRDI: true,
- daily: 137.08691489356596,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 166.20613749997457,
- hasRDI: true,
- daily: 923.3674305554143,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 34.741799999989894,
- hasRDI: true,
- daily: 315.8345454544536,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2005.3849999982951,
- hasRDI: true,
- daily: 286.4835714283279,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 232.66874999992106,
- hasRDI: true,
- daily: 25.85208333332456,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 208.66012499999525,
- hasRDI: true,
- daily: 231.84458333332805,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.741273749997206,
- hasRDI: true,
- daily: 145.1061458331005,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.4032424999988948,
- hasRDI: true,
- daily: 107.94173076914575,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 58.20302874999108,
- hasRDI: true,
- daily: 363.76892968744426,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 6.612902499998896,
- hasRDI: true,
- daily: 508.6848076922227,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 532.6562499998895,
- hasRDI: true,
- daily: 133.16406249997237,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 532.6562499998895,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 7.548,
- hasRDI: true,
- daily: 314.5,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 13.840399999994318,
- hasRDI: true,
- daily: 92.26933333329545,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 2091.284249999978,
- hasRDI: true,
- daily: 1742.7368749999814,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1145.2335499986787,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/dd4a76ee9f4ce2efd21e40e3d620f8c4?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_f38bcef5962fcb27cb84a75fdf997942',
- label: 'Shrimp Salad',
- image: 'https://www.edamam.com/web-img/a35/a35a9ea5a5b0e712d8193b5ca61201d5.jpg',
- source: 'Cookstr',
- url: 'http://www.cookstr.com/recipes/shrimp-salad-mimi-sheraton',
- shareAs: 'http://www.edamam.com/recipe/shrimp-salad-f38bcef5962fcb27cb84a75fdf997942/salad',
- yield: 6,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Low Potassium',
- 'Keto-Friendly',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 pound medium-sized shrimp, cooked, shelled and de-veined',
- '1 tablespoon minced onion',
- '1 tablespoon minced parsley',
- 'Salt and pepper to taste',
- '1 tablespoon lemon juice',
- '½ cup mayonnaise',
- '1½ tablespoons salad oil',
- ],
- ingredients: [
- {
- text: '1 pound medium-sized shrimp, cooked, shelled and de-veined',
- weight: 453.59237,
- foodCategory: 'seafood',
- foodId: 'food_b38bejhbq9loe2bbb7bnmbcpteft',
- image: 'https://www.edamam.com/food-img/ebe/ebe2888b894f48d19762e1d606db0206.jpg',
- },
- {
- text: '1 tablespoon minced onion',
- weight: 10,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1 tablespoon minced parsley',
- weight: 3.8,
- foodCategory: 'vegetables',
- foodId: 'food_b244pqdazw24zobr5vqu2bf0uid8',
- image: 'https://www.edamam.com/food-img/46a/46a132e96626d7989b4d6ed8c91f4da0.jpg',
- },
- {
- text: 'Salt and pepper to taste',
- weight: 3.714854219998453,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Salt and pepper to taste',
- weight: 1.8574271099992266,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1 tablespoon lemon juice',
- weight: 15.2499999997422,
- foodCategory: '100% juice',
- foodId: 'food_bglm6vxahuauteb0n6ynfbg9eryu',
- image: 'https://www.edamam.com/food-img/e31/e310952d214e78a4cb8b73f30ceeaaf2.jpg',
- },
- {
- text: '½ cup mayonnaise',
- weight: 115.5,
- foodCategory: 'condiments and sauces',
- foodId: 'food_bu8t61zaplle7dbrzk81dbygq0qj',
- image: 'https://www.edamam.com/food-img/577/577308a0422357885c94cc9b5f1f1862.jpg',
- },
- {
- text: '1½ tablespoons salad oil',
- weight: 21,
- foodCategory: 'Oils',
- foodId: 'food_bk9p9aaavhvoq4bqsnprobpsiuxs',
- image: 'https://www.edamam.com/food-img/07e/07e106ab3536d57428e5c46d009038f8.jpg',
- },
- ],
- calories: 1320.3357247460413,
- totalWeight: 620.9997971097414,
- totalTime: 60,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1320.3357247460413,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 114.65345506078536,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 16.054197471071088,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.16459662660000002,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 36.42761357604288,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 60.63706911405774,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 7.542305203826718,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 0.8110790588290309,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 0.8524875334974986,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 62.20314323372802,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 616.5713862,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 3236.819799621998,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 261.6272818972812,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 106.78152175808323,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 588.6040843916244,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 1.4017001493807186,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 4.487234371608863,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1116.0241176337784,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 261.4393851196998,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 11.695749999900233,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.1042524952787373,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.08009372429795995,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 8.161474230467057,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.7581238285899792,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 97.22431290864833,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 97.22431290864833,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 5.034875307000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.4535923700000001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 9.726711525943607,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 81.73438528906873,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 403.079716754668,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 66.01678623730206,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 176.38993086274672,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 80.27098735535544,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 2.514101734608906,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 3.2443162353161235,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 124.40628646745604,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 205.52379539999998,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 134.86749165091658,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 26.16272818972812,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 25.424171847162675,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 12.523491157268603,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 7.787223052115103,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 40.79303974189875,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 159.43201680482548,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 29.048820568855533,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 12.995277777666926,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 8.687707939894775,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 6.161055715227689,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 51.00921394041911,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 58.31721758384455,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 24.306078227162082,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 209.78647112500005,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 3.0239491333333337,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 64.84474350629071,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 68.1119877408906,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 114.65345506078536,
- hasRDI: true,
- daily: 176.38993086274672,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 16.054197471071088,
- hasRDI: true,
- daily: 80.27098735535544,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.16459662660000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 36.42761357604288,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 60.63706911405774,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 7.542305203826718,
- hasRDI: true,
- daily: 2.514101734608906,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 6.731226144997687,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 0.8110790588290309,
- hasRDI: true,
- daily: 3.2443162353161235,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 0.8524875334974986,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 62.20314323372802,
- hasRDI: true,
- daily: 124.40628646745604,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 616.5713862,
- hasRDI: true,
- daily: 205.52379539999998,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 3236.819799621998,
- hasRDI: true,
- daily: 134.86749165091658,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 261.6272818972812,
- hasRDI: true,
- daily: 26.16272818972812,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 106.78152175808323,
- hasRDI: true,
- daily: 25.424171847162675,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 588.6040843916244,
- hasRDI: true,
- daily: 12.523491157268603,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 1.4017001493807186,
- hasRDI: true,
- daily: 7.787223052115103,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 4.487234371608863,
- hasRDI: true,
- daily: 40.79303974189875,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1116.0241176337784,
- hasRDI: true,
- daily: 159.43201680482548,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 261.4393851196998,
- hasRDI: true,
- daily: 29.048820568855533,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 11.695749999900233,
- hasRDI: true,
- daily: 12.995277777666926,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.1042524952787373,
- hasRDI: true,
- daily: 8.687707939894775,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.08009372429795995,
- hasRDI: true,
- daily: 6.161055715227689,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 8.161474230467057,
- hasRDI: true,
- daily: 51.00921394041911,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.7581238285899792,
- hasRDI: true,
- daily: 58.31721758384455,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 97.22431290864833,
- hasRDI: true,
- daily: 24.306078227162082,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 97.22431290864833,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 5.034875307000001,
- hasRDI: true,
- daily: 209.78647112500005,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.4535923700000001,
- hasRDI: true,
- daily: 3.0239491333333337,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 9.726711525943607,
- hasRDI: true,
- daily: 64.84474350629071,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 81.73438528906873,
- hasRDI: true,
- daily: 68.1119877408906,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 403.079716754668,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/f38bcef5962fcb27cb84a75fdf997942?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_ce6b0299ece2cd64868f7b1db5f98829',
- label: 'Strawberry Hazelnut Salad',
- image: 'https://www.edamam.com/web-img/832/832af8392d347d88705dedc503410ad7.jpg',
- source: 'Use Real Butter',
- url: 'http://userealbutter.com/2009/05/08/strawberry-hazelnut-salad-recipe/',
- shareAs:
- 'http://www.edamam.com/recipe/strawberry-hazelnut-salad-ce6b0299ece2cd64868f7b1db5f98829/salad',
- yield: 6,
- dietLabels: ['Low-Carb', 'Low-Sodium'],
- healthLabels: [
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '8 oz salad greens',
- '8 oz strawberries',
- '2 oz Hazelnuts',
- '3 oz Balsamic Vinegar',
- '1 tsp Sugar',
- '4 oz Extra Virgin Olive Oil',
- '4 x salt and pepper',
- ],
- ingredients: [
- {
- text: '8 oz salad greens',
- weight: 226.796185,
- foodCategory: 'vegetables',
- foodId: 'food_bqalyxzbzu04hcb8xj930bzar7xg',
- image: 'https://www.edamam.com/food-img/b6d/b6d9f3052d27a3c71220cfa55c6f0a42.jpg',
- },
- {
- text: '8 oz strawberries',
- weight: 226.796185,
- foodCategory: 'fruit',
- foodId: 'food_b4s2ibkbrrucmbabbaxhfau8ay42',
- image: 'https://www.edamam.com/food-img/00c/00c8851e401bf7975be7f73499b4b573.jpg',
- },
- {
- text: '2 oz Hazelnuts',
- weight: 56.69904625,
- foodCategory: 'plant-based protein',
- foodId: 'food_ahshk5kaw2j86lbtd1akiaxbiwc2',
- image: 'https://www.edamam.com/food-img/136/13615074edcc12bf37a30987ebfec6dc.jpg',
- },
- {
- text: '3 oz Balsamic Vinegar',
- weight: 85.048569375,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b1ic8tzapja8jubas1f8lbhpbn6x',
- image: 'https://www.edamam.com/food-img/90a/90a1f211768e166ecfff19e8b4747498.jpg',
- },
- {
- text: '1 tsp Sugar',
- weight: 4.2,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '4 oz Extra Virgin Olive Oil',
- weight: 113.3980925,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '4 x salt and pepper',
- weight: 465.15555555555557,
- foodCategory: 'vegetables',
- foodId: 'food_bz8rcwobbzm7zhb3wh2n7aznivou',
- image: 'https://www.edamam.com/food-img/629/629dc9fddc1f8aec27fa337dd6ce2b7c.jpg',
- },
- ],
- calories: 1649.2312072611114,
- totalWeight: 1178.0936336805557,
- totalTime: 0,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1649.2312072611114,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 149.65411037381946,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 18.538222923972224,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 108.76897343806947,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 17.249349139669444,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 73.66188738359028,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 20.891726035694443,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 43.39017675164583,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 4.1916,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 17.49754573759028,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 101.59669312291669,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 253.22557913680555,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 208.10783736805556,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2083.0308772972226,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 8.37617462963889,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.7880355028472232,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 393.8195514673611,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 925.7088368125001,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 531.7785123804167,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.8429019479541668,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.4264435865180556,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 4.979248467016667,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.6718748482819445,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 251.1991125180556,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 251.1991125180556,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 27.67222902418056,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 402.17152508861113,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 926.4478885246737,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 82.46156036305557,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 230.23709288279917,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 92.69111461986111,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 24.55396246119676,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 83.56690414277777,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 34.99509147518056,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 4.233195546788195,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 25.322557913680555,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 49.54948508763228,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 44.31980589994091,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 46.534303497993825,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 25.34577729861112,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 56.25993592390873,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 102.85653742361112,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 590.8650137560186,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 70.24182899618057,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 32.8033528090812,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 31.120302918854172,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 128.60575756014956,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 62.7997781295139,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 184.4815268278704,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 335.14293757384263,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 149.65411037381946,
- hasRDI: true,
- daily: 230.23709288279917,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 18.538222923972224,
- hasRDI: true,
- daily: 92.69111461986111,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 108.76897343806947,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 17.249349139669444,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 73.66188738359028,
- hasRDI: true,
- daily: 24.55396246119676,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 52.77016134789584,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 20.891726035694443,
- hasRDI: true,
- daily: 83.56690414277777,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 43.39017675164583,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 4.1916,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 17.49754573759028,
- hasRDI: true,
- daily: 34.99509147518056,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 101.59669312291669,
- hasRDI: true,
- daily: 4.233195546788195,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 253.22557913680555,
- hasRDI: true,
- daily: 25.322557913680555,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 208.10783736805556,
- hasRDI: true,
- daily: 49.54948508763228,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2083.0308772972226,
- hasRDI: true,
- daily: 44.31980589994091,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 8.37617462963889,
- hasRDI: true,
- daily: 46.534303497993825,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.7880355028472232,
- hasRDI: true,
- daily: 25.34577729861112,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 393.8195514673611,
- hasRDI: true,
- daily: 56.25993592390873,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 925.7088368125001,
- hasRDI: true,
- daily: 102.85653742361112,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 531.7785123804167,
- hasRDI: true,
- daily: 590.8650137560186,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.8429019479541668,
- hasRDI: true,
- daily: 70.24182899618057,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.4264435865180556,
- hasRDI: true,
- daily: 32.8033528090812,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 4.979248467016667,
- hasRDI: true,
- daily: 31.120302918854172,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.6718748482819445,
- hasRDI: true,
- daily: 128.60575756014956,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 251.1991125180556,
- hasRDI: true,
- daily: 62.7997781295139,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 251.1991125180556,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 27.67222902418056,
- hasRDI: true,
- daily: 184.4815268278704,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 402.17152508861113,
- hasRDI: true,
- daily: 335.14293757384263,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 926.4478885246737,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/ce6b0299ece2cd64868f7b1db5f98829?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_0657d391510851af8144901267a4c26a',
- label: 'Grilled Tofu Salad With Miso Dressing',
- image: 'https://www.edamam.com/web-img/272/2724347f1843a7c437faacf837326676.jpg',
- source: 'Steamy Kitchen',
- url: 'http://steamykitchen.com/20074-grilled-tofu-with-miso-dressing-recip.html',
- shareAs:
- 'http://www.edamam.com/recipe/grilled-tofu-salad-with-miso-dressing-0657d391510851af8144901267a4c26a/salad',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat', 'Sulfites'],
- ingredientLines: [
- '14 ounces extra firm tofu',
- '2 teaspoons cooking oil',
- '2 tablespoons Miso & Easy (3 teaspoons miso paste + 3 teaspoons hot water), divided',
- '1 teaspoon soy sauce',
- '1/2 teaspoon grated fresh ginger',
- '1 tablespoon water',
- '1/2 teaspoon sesame oil',
- '1/2 teaspoon sugar',
- '1 tablespoon oil for salad (olive, canola, vegetable, grapeseed)',
- '4 handfuls of salad greens + any other salad vegetables of your choice',
- ],
- ingredients: [
- {
- text: '14 ounces extra firm tofu',
- weight: 396.89332375000004,
- foodCategory: 'plant-based protein',
- foodId: 'food_bu9fz3paqr6xcebft7onna22v8ve',
- image: 'https://www.edamam.com/food-img/c44/c44799e4beb77540acad305ac9f9ef7e.jpg',
- },
- {
- text: '2 teaspoons cooking oil',
- weight: 9,
- foodCategory: 'Oils',
- foodId: 'food_bk9p9aaavhvoq4bqsnprobpsiuxs',
- image: 'https://www.edamam.com/food-img/07e/07e106ab3536d57428e5c46d009038f8.jpg',
- },
- {
- text: '2 tablespoons Miso & Easy (3 teaspoons miso paste + 3 teaspoons hot water), divided',
- weight: 34,
- foodCategory: 'plant-based protein',
- foodId: 'food_agp37bpbhswz7sa7hlwj7b8vzcbt',
- image: 'https://www.edamam.com/food-img/352/3525e5a38bb13c74aa34ef6c0273bf33.jpg',
- },
- {
- text: '1 teaspoon soy sauce',
- weight: 5.3,
- foodCategory: 'plant-based protein',
- foodId: 'food_a5g9yevb1iactoaiimbvjbkrxueh',
- image: 'https://www.edamam.com/food-img/f56/f562e461eb0618f367f538b836c17b82.jpg',
- },
- {
- text: '1/2 teaspoon grated fresh ginger',
- weight: 1,
- foodCategory: 'vegetables',
- foodId: 'food_bi2ki2xb5zmmvbaiwf7ztbgktzp6',
- image: 'https://www.edamam.com/food-img/b9c/b9c06ef451ef29513880af0a53ebbaa6.jpg',
- },
- {
- text: '1 tablespoon water',
- weight: 14.786764781,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- {
- text: '1/2 teaspoon sesame oil',
- weight: 2.25,
- foodCategory: 'Oils',
- foodId: 'food_b2id9opa0l5afvbw2do5xa1fnz4q',
- image: 'https://www.edamam.com/food-img/b87/b874ddcfb6770adc7a155355a902ffb8.jpg',
- },
- {
- text: '1/2 teaspoon sugar',
- weight: 2.1,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '1 tablespoon oil for salad (olive, canola, vegetable, grapeseed)',
- weight: 14,
- foodCategory: 'Oils',
- foodId: 'food_bk9p9aaavhvoq4bqsnprobpsiuxs',
- image: 'https://www.edamam.com/food-img/07e/07e106ab3536d57428e5c46d009038f8.jpg',
- },
- {
- text: '4 handfuls of salad greens + any other salad vegetables of your choice',
- weight: 18,
- foodCategory: 'vegetables',
- foodId: 'food_bqalyxzbzu04hcb8xj930bzar7xg',
- image: 'https://www.edamam.com/food-img/b6d/b6d9f3052d27a3c71220cfa55c6f0a42.jpg',
- },
- ],
- calories: 880.8013194374998,
- totalWeight: 497.33008853100006,
- totalTime: 0,
- cuisineType: ['japanese'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 880.8013194374998,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 61.967207831,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 7.4150338124875,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.09085000000000001,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 23.516490482187507,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 28.0616294617375,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 29.002314924125002,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 11.260946446250001,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 4.3824,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 2.0958,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 67.29878648775,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1619.99653591624,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 2739.0150041559305,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 253.35799542281,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1074.2041772875002,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 11.642662411750003,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 7.1852238593531,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 822.515315125,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 67.96,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 2.4997866475,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.6750104515250002,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.507935190225,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 2.0115915634875003,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.45844585785,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 129.2510638875,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 129.2510638875,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.027200000000000002,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 4.0929,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 49.402,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 328.2060559908441,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 44.040065971874995,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 95.33416589384616,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 37.075169062437496,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 9.667438308041667,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 45.043785785,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 134.5975729755,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 67.49985566317666,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 273.90150041559303,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 60.323332243526195,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 22.855408027393622,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 64.68145784305557,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 65.32021690321,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 117.502187875,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 7.55111111111111,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 2.7775407194444446,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 56.25087096041668,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 39.07193770961538,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 12.572447271796877,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 35.26506598846154,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 32.312765971875,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1.1333333333333335,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 27.286,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 41.16833333333333,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 61.967207831,
- hasRDI: true,
- daily: 95.33416589384616,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 7.4150338124875,
- hasRDI: true,
- daily: 37.075169062437496,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.09085000000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 23.516490482187507,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 28.0616294617375,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 29.002314924125002,
- hasRDI: true,
- daily: 9.667438308041667,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 17.741368477875,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 11.260946446250001,
- hasRDI: true,
- daily: 45.043785785,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 4.3824,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 2.0958,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 67.29878648775,
- hasRDI: true,
- daily: 134.5975729755,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1619.99653591624,
- hasRDI: true,
- daily: 67.49985566317666,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 2739.0150041559305,
- hasRDI: true,
- daily: 273.90150041559303,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 253.35799542281,
- hasRDI: true,
- daily: 60.323332243526195,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1074.2041772875002,
- hasRDI: true,
- daily: 22.855408027393622,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 11.642662411750003,
- hasRDI: true,
- daily: 64.68145784305557,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 7.1852238593531,
- hasRDI: true,
- daily: 65.32021690321,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 822.515315125,
- hasRDI: true,
- daily: 117.502187875,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 67.96,
- hasRDI: true,
- daily: 7.55111111111111,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 2.4997866475,
- hasRDI: true,
- daily: 2.7775407194444446,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.6750104515250002,
- hasRDI: true,
- daily: 56.25087096041668,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.507935190225,
- hasRDI: true,
- daily: 39.07193770961538,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 2.0115915634875003,
- hasRDI: true,
- daily: 12.572447271796877,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.45844585785,
- hasRDI: true,
- daily: 35.26506598846154,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 129.2510638875,
- hasRDI: true,
- daily: 32.312765971875,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 129.2510638875,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.027200000000000002,
- hasRDI: true,
- daily: 1.1333333333333335,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 4.0929,
- hasRDI: true,
- daily: 27.286,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 49.402,
- hasRDI: true,
- daily: 41.16833333333333,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 328.2060559908441,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/0657d391510851af8144901267a4c26a?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_3abffa587abb91c3ce9956da629448ee',
- label: 'Chicken Salad-Stuffed Tomatoes',
- image: 'https://www.edamam.com/web-img/86c/86c21bdb5ea3e2868b5ce9761a31ebc5.jpg',
- source: 'EatingWell',
- url: 'http://www.eatingwell.com/recipes/chicken_salad_stuffed_tomatoes.html',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-salad-stuffed-tomatoes-3abffa587abb91c3ce9956da629448ee/salad',
- yield: 4,
- dietLabels: ['Low-Sodium'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Kidney-Friendly',
- 'Keto-Friendly',
- 'Paleo',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'No oil added',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- 'Immuno-Supportive',
- ],
- cautions: [],
- ingredientLines: [
- '4 plum tomatoes, halved',
- '2 teaspoons sliced fresh chives',
- 'Freshly ground pepper, to taste',
- '1/4 cup chicken salad',
- ],
- ingredients: [
- {
- text: '4 plum tomatoes, halved',
- weight: 248,
- foodCategory: 'vegetables',
- foodId: 'food_ab8jymba5i5xv3apgymg7a90bxb5',
- image: 'https://www.edamam.com/food-img/23e/23e727a14f1035bdc2733bb0477efbd2.jpg',
- },
- {
- text: '2 teaspoons sliced fresh chives',
- weight: 2,
- foodCategory: 'vegetables',
- foodId: 'food_btg1uzjak79lawbirsitkaeai60l',
- image: 'https://www.edamam.com/food-img/f3f/f3f48643a924ba174b894e979cb48620.jpg',
- },
- {
- text: 'Freshly ground pepper, to taste',
- weight: 0.855,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1/4 cup chicken salad',
- weight: 35,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- ],
- calories: 122.63605000000001,
- totalWeight: 285.855,
- totalTime: 0,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 122.63605000000001,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 5.8094730000000006,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 1.5927616,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.03395,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 2.26909845,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 1.3502129,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 10.280972499999999,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 3.2423149999999996,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 6.564871999999999,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 8.8466345,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 26.250000000000004,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 37.131,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 34.27765,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 36.58205,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 671.1929499999999,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 1.0996205000000003,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.9014745000000001,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 113.48089999999999,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 123.10085000000001,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 35.698,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.11524340000000001,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.09295899999999999,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 3.8761826500000005,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.32614805,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 41.545350000000006,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 41.545350000000006,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.10850000000000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.07,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.457292,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 25.770635000000002,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 259.425633,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 6.131802500000001,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 8.93765076923077,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 7.963808,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 3.4269908333333325,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 12.969259999999998,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 17.693269,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 8.750000000000002,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 1.5471249999999999,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 3.4277650000000004,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 8.710011904761906,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 14.280701063829783,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 6.109002777777779,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 8.195222727272728,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 16.211557142857142,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 13.677872222222224,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 39.66444444444445,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 9.603616666666667,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 7.150692307692306,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 24.226141562500004,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 25.08831153846154,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 10.386337500000002,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 4.520833333333334,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.46666666666666673,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 9.71528,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 21.475529166666668,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 5.8094730000000006,
- hasRDI: true,
- daily: 8.93765076923077,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 1.5927616,
- hasRDI: true,
- daily: 7.963808,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.03395,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 2.26909845,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 1.3502129,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 10.280972499999999,
- hasRDI: true,
- daily: 3.4269908333333325,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 7.038657499999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 3.2423149999999996,
- hasRDI: true,
- daily: 12.969259999999998,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 6.564871999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 8.8466345,
- hasRDI: true,
- daily: 17.693269,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 26.250000000000004,
- hasRDI: true,
- daily: 8.750000000000002,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 37.131,
- hasRDI: true,
- daily: 1.5471249999999999,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 34.27765,
- hasRDI: true,
- daily: 3.4277650000000004,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 36.58205,
- hasRDI: true,
- daily: 8.710011904761906,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 671.1929499999999,
- hasRDI: true,
- daily: 14.280701063829783,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 1.0996205000000003,
- hasRDI: true,
- daily: 6.109002777777779,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.9014745000000001,
- hasRDI: true,
- daily: 8.195222727272728,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 113.48089999999999,
- hasRDI: true,
- daily: 16.211557142857142,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 123.10085000000001,
- hasRDI: true,
- daily: 13.677872222222224,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 35.698,
- hasRDI: true,
- daily: 39.66444444444445,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.11524340000000001,
- hasRDI: true,
- daily: 9.603616666666667,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.09295899999999999,
- hasRDI: true,
- daily: 7.150692307692306,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 3.8761826500000005,
- hasRDI: true,
- daily: 24.226141562500004,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.32614805,
- hasRDI: true,
- daily: 25.08831153846154,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 41.545350000000006,
- hasRDI: true,
- daily: 10.386337500000002,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 41.545350000000006,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.10850000000000001,
- hasRDI: true,
- daily: 4.520833333333334,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.07,
- hasRDI: true,
- daily: 0.46666666666666673,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 1.457292,
- hasRDI: true,
- daily: 9.71528,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 25.770635000000002,
- hasRDI: true,
- daily: 21.475529166666668,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 259.425633,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/3abffa587abb91c3ce9956da629448ee?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_decb658ec24b765db6a2dc5c7c592932',
- label: 'Buffalo Chicken Salad',
- image: 'https://www.edamam.com/web-img/745/745f3cfed84767d39dc2b7f7d5161904.jpg',
- source: 'Delish',
- url: 'http://www.delish.com/cooking/recipe-ideas/recipes/a23965/buffalo-chicken-salad/',
- shareAs:
- 'http://www.edamam.com/recipe/buffalo-chicken-salad-decb658ec24b765db6a2dc5c7c592932/salad',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '2 bag romaine salad mix',
- '1 container Carrot and celery sticks',
- '1 takeout order chicken fingers',
- '2 tbsp. cayenne pepper sauce',
- '½ c. blue cheese salad dressing',
- ],
- ingredients: [
- {
- text: '2 bag romaine salad mix',
- weight: 520,
- foodCategory: 'vegetables',
- foodId: 'food_bqalyxzbzu04hcb8xj930bzar7xg',
- image: 'https://www.edamam.com/food-img/b6d/b6d9f3052d27a3c71220cfa55c6f0a42.jpg',
- },
- {
- text: '1 container Carrot and celery sticks',
- weight: 0,
- foodCategory: 'vegetables',
- foodId: 'food_ai215e5b85pdh5ajd4aafa3w2zm8',
- image: 'https://www.edamam.com/food-img/121/121e33fce0bb9546ed7d060b6c114e29.jpg',
- },
- {
- text: '1 container Carrot and celery sticks',
- weight: 40,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- {
- text: '1 takeout order chicken fingers',
- weight: 1200,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '2 tbsp. cayenne pepper sauce',
- weight: 28.19999999809289,
- foodCategory: 'canned soup',
- foodId: 'food_a6201h1bu1m0tfbrvis6ma6nvhzv',
- image: 'https://www.edamam.com/food-img/946/946c38a4c278da4361d2615d653d685a.jpg',
- },
- {
- text: '½ c. blue cheese salad dressing',
- weight: 122.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a7uejbga4bjcztbe4naceb72mnwf',
- image: 'https://www.edamam.com/food-img/06f/06fde1f5c1a30fbc87e0a5c0052ba4dd.jpg',
- },
- ],
- calories: 3260.4019999997904,
- totalWeight: 1910.6999999980928,
- totalTime: 10,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3260.4019999997904,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 244.26983999999294,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 61.99233899999901,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 2.8055000000000003,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 91.19923499999942,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 73.01589699999627,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 22.44874999996663,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 7.974599999994279,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 9.21031999997597,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 232.3700699999903,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 937.975,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2549.375999949595,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 382.78099999984744,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 323.20999999990465,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3529.2079999972543,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 15.597609999990846,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 16.996269999997903,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2018.1519999997904,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 2444.205999999848,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 90.23109999857348,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.1148019999993135,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.024423999998436,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 83.88412799999516,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 4.787198999997005,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 291.8169999998856,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 291.8169999998856,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 4.05075,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 2.5225000000000004,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 10.128839999997712,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 792.3842999999542,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1397.9671099982838,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 163.02009999998953,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 375.799753846143,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 309.9616949999951,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 7.482916666655544,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 31.898399999977116,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 464.7401399999806,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 312.65833333333336,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 106.2239999978998,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 38.27809999998474,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 76.9547619047392,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 75.08953191483519,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 86.65338888883804,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 154.51154545452638,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 288.3074285713986,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 271.57844444442753,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 100.25677777619276,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 92.90016666660946,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 155.72492307680278,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 524.2757999999698,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 368.24607692284656,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 72.9542499999714,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 168.78125,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 16.81666666666667,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 67.52559999998475,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 660.3202499999619,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 244.26983999999294,
- hasRDI: true,
- daily: 375.799753846143,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 61.99233899999901,
- hasRDI: true,
- daily: 309.9616949999951,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 2.8055000000000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 91.19923499999942,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 73.01589699999627,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 22.44874999996663,
- hasRDI: true,
- daily: 7.482916666655544,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 14.47414999997235,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 7.974599999994279,
- hasRDI: true,
- daily: 31.898399999977116,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 9.21031999997597,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 232.3700699999903,
- hasRDI: true,
- daily: 464.7401399999806,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 937.975,
- hasRDI: true,
- daily: 312.65833333333336,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2549.375999949595,
- hasRDI: true,
- daily: 106.2239999978998,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 382.78099999984744,
- hasRDI: true,
- daily: 38.27809999998474,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 323.20999999990465,
- hasRDI: true,
- daily: 76.9547619047392,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3529.2079999972543,
- hasRDI: true,
- daily: 75.08953191483519,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 15.597609999990846,
- hasRDI: true,
- daily: 86.65338888883804,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 16.996269999997903,
- hasRDI: true,
- daily: 154.51154545452638,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2018.1519999997904,
- hasRDI: true,
- daily: 288.3074285713986,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 2444.205999999848,
- hasRDI: true,
- daily: 271.57844444442753,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 90.23109999857348,
- hasRDI: true,
- daily: 100.25677777619276,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.1148019999993135,
- hasRDI: true,
- daily: 92.90016666660946,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.024423999998436,
- hasRDI: true,
- daily: 155.72492307680278,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 83.88412799999516,
- hasRDI: true,
- daily: 524.2757999999698,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 4.787198999997005,
- hasRDI: true,
- daily: 368.24607692284656,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 291.8169999998856,
- hasRDI: true,
- daily: 72.9542499999714,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 291.8169999998856,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 4.05075,
- hasRDI: true,
- daily: 168.78125,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 2.5225000000000004,
- hasRDI: true,
- daily: 16.81666666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 10.128839999997712,
- hasRDI: true,
- daily: 67.52559999998475,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 792.3842999999542,
- hasRDI: true,
- daily: 660.3202499999619,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1397.9671099982838,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/decb658ec24b765db6a2dc5c7c592932?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_087a8931b23d89b0e64236e7b3b52e2e',
- label: 'Buffalo Chicken Salad recipes',
- image: 'https://www.edamam.com/web-img/b5b/b5baa361c0a1dfdf08d13f13c3a513d9',
- source: 'Good Housekeeping',
- url: 'http://www.goodhousekeeping.com/food-recipes/a3338/buffalo-chicken-salad/',
- shareAs:
- 'http://www.edamam.com/recipe/buffalo-chicken-salad-recipes-087a8931b23d89b0e64236e7b3b52e2e/salad',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '2 bag romaine salad mix',
- '1 container Carrot and celery sticks',
- '1 takeout order chicken fingers',
- '2 tbsp. cayenne pepper sauce',
- '0.50 c. blue cheese salad dressing',
- ],
- ingredients: [
- {
- text: '2 bag romaine salad mix',
- weight: 520,
- foodCategory: 'vegetables',
- foodId: 'food_bqalyxzbzu04hcb8xj930bzar7xg',
- image: 'https://www.edamam.com/food-img/b6d/b6d9f3052d27a3c71220cfa55c6f0a42.jpg',
- },
- {
- text: '1 container Carrot and celery sticks',
- weight: 0,
- foodCategory: 'vegetables',
- foodId: 'food_ai215e5b85pdh5ajd4aafa3w2zm8',
- image: 'https://www.edamam.com/food-img/121/121e33fce0bb9546ed7d060b6c114e29.jpg',
- },
- {
- text: '1 container Carrot and celery sticks',
- weight: 40,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- {
- text: '1 takeout order chicken fingers',
- weight: 1200,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '2 tbsp. cayenne pepper sauce',
- weight: 28.19999999809289,
- foodCategory: 'canned soup',
- foodId: 'food_a6201h1bu1m0tfbrvis6ma6nvhzv',
- image: 'https://www.edamam.com/food-img/946/946c38a4c278da4361d2615d653d685a.jpg',
- },
- {
- text: '0.50 c. blue cheese salad dressing',
- weight: 122.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a7uejbga4bjcztbe4naceb72mnwf',
- image: 'https://www.edamam.com/food-img/06f/06fde1f5c1a30fbc87e0a5c0052ba4dd.jpg',
- },
- ],
- calories: 3260.4019999997904,
- totalWeight: 1910.6999999980928,
- totalTime: 10,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3260.4019999997904,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 244.26983999999294,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 61.99233899999901,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 2.8055000000000003,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 91.19923499999942,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 73.01589699999627,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 22.44874999996663,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 7.974599999994279,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 9.21031999997597,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 232.3700699999903,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 937.975,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2549.375999949595,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 382.78099999984744,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 323.20999999990465,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3529.2079999972543,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 15.597609999990846,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 16.996269999997903,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2018.1519999997904,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 2444.205999999848,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 90.23109999857348,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.1148019999993135,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.024423999998436,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 83.88412799999516,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 4.787198999997005,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 291.8169999998856,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 291.8169999998856,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 4.05075,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 2.5225000000000004,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 10.128839999997712,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 792.3842999999542,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1397.9671099982838,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 163.02009999998953,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 375.799753846143,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 309.9616949999951,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 7.482916666655544,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 31.898399999977116,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 464.7401399999806,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 312.65833333333336,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 106.2239999978998,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 38.27809999998474,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 76.9547619047392,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 75.08953191483519,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 86.65338888883804,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 154.51154545452638,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 288.3074285713986,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 271.57844444442753,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 100.25677777619276,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 92.90016666660946,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 155.72492307680278,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 524.2757999999698,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 368.24607692284656,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 72.9542499999714,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 168.78125,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 16.81666666666667,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 67.52559999998475,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 660.3202499999619,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 244.26983999999294,
- hasRDI: true,
- daily: 375.799753846143,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 61.99233899999901,
- hasRDI: true,
- daily: 309.9616949999951,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 2.8055000000000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 91.19923499999942,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 73.01589699999627,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 22.44874999996663,
- hasRDI: true,
- daily: 7.482916666655544,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 14.47414999997235,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 7.974599999994279,
- hasRDI: true,
- daily: 31.898399999977116,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 9.21031999997597,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 232.3700699999903,
- hasRDI: true,
- daily: 464.7401399999806,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 937.975,
- hasRDI: true,
- daily: 312.65833333333336,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2549.375999949595,
- hasRDI: true,
- daily: 106.2239999978998,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 382.78099999984744,
- hasRDI: true,
- daily: 38.27809999998474,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 323.20999999990465,
- hasRDI: true,
- daily: 76.9547619047392,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3529.2079999972543,
- hasRDI: true,
- daily: 75.08953191483519,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 15.597609999990846,
- hasRDI: true,
- daily: 86.65338888883804,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 16.996269999997903,
- hasRDI: true,
- daily: 154.51154545452638,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2018.1519999997904,
- hasRDI: true,
- daily: 288.3074285713986,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 2444.205999999848,
- hasRDI: true,
- daily: 271.57844444442753,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 90.23109999857348,
- hasRDI: true,
- daily: 100.25677777619276,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.1148019999993135,
- hasRDI: true,
- daily: 92.90016666660946,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.024423999998436,
- hasRDI: true,
- daily: 155.72492307680278,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 83.88412799999516,
- hasRDI: true,
- daily: 524.2757999999698,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 4.787198999997005,
- hasRDI: true,
- daily: 368.24607692284656,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 291.8169999998856,
- hasRDI: true,
- daily: 72.9542499999714,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 291.8169999998856,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 4.05075,
- hasRDI: true,
- daily: 168.78125,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 2.5225000000000004,
- hasRDI: true,
- daily: 16.81666666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 10.128839999997712,
- hasRDI: true,
- daily: 67.52559999998475,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 792.3842999999542,
- hasRDI: true,
- daily: 660.3202499999619,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1397.9671099982838,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/087a8931b23d89b0e64236e7b3b52e2e?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_db1dda0c057461fa2eb49211bbfd4f4b',
- label: 'Washing up free salad',
- image: 'https://www.edamam.com/web-img/5f4/5f4e0c670a283159486de0b6d3e04284.jpg',
- source: 'The Stone Soup',
- url: 'http://thestonesoup.com/blog/2011/01/reduce-reuse-recycle-how-the-3rs-can-help-you-with-the-washing-up/',
- shareAs:
- 'http://www.edamam.com/recipe/washing-up-free-salad-db1dda0c057461fa2eb49211bbfd4f4b/salad',
- yield: 1,
- dietLabels: ['High-Fiber', 'Low-Carb'],
- healthLabels: [
- 'Pescatarian',
- 'Paleo',
- 'Mediterranean',
- 'DASH',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 can sardines, preferably in olive oil',
- '1 bag washed salad leaves',
- '1 lemon',
- 'Small handful pinenuts, optional',
- ],
- ingredients: [
- {
- text: '1 can sardines, preferably in olive oil',
- weight: 252.00000000426004,
- foodCategory: 'canned fruit',
- foodId: 'food_bt7u5w5a064gusa46msxfb38ag06',
- image: 'https://www.edamam.com/food-img/822/8221f2141e8dafd469414b20777735ca.jpg',
- },
- {
- text: '1 bag washed salad leaves',
- weight: 313,
- foodCategory: 'vegetables',
- foodId: 'food_bfmb5cybk1o247bmrmry4a6jvp60',
- image: 'https://www.edamam.com/food-img/79e/79e8dd0ee229cbc32171ec362ce93a37.jpg',
- },
- {
- text: '1 lemon',
- weight: 58,
- foodCategory: 'fruit',
- foodId: 'food_a6uzc62astrxcgbtzyq59b6fncrr',
- image: 'https://www.edamam.com/food-img/70a/70acba3d4c734d7c70ef4efeed85dc8f.jpg',
- },
- {
- text: 'Small handful pinenuts, optional',
- weight: 12.65625,
- foodCategory: 'plant-based protein',
- foodId: 'food_b5d59t6bhqudbqalw7k4fb6ncio8',
- image: 'https://www.edamam.com/food-img/52f/52fa29cb9d1ab6502f137a98c8a63f09.jpg',
- },
- ],
- calories: 445.006562504899,
- totalWeight: 635.6562500042601,
- totalTime: 6,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 445.006562504899,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 36.67967812545497,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 4.33051968756028,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 22.29651875033603,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 7.160250937538809,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 33.133937500266676,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 16.729281250136324,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 5.629059375,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 8.337340625035784,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1878.6531250313114,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 342.1550000037488,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 90.3071875001704,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 948.8678125003407,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 12.399990625140582,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.125428125009372,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 183.5134375001278,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1415.7865625008521,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 45.62925000003834,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.3021887500001278,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.2500396875,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 1.686159687501576,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.31259687500038336,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 436.363125,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 436.363125,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 5.8327281250702905,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 331.17471875005964,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 549.6010625034075,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 22.250328125244952,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 56.430274039161496,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 21.652598437801398,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 11.044645833422225,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 66.9171250005453,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 16.67468125007157,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 78.27721354297131,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 34.21550000037488,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 21.50171130956438,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 20.18867686170938,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 68.88883680633656,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 19.322073863721563,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 26.216205357161115,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 157.30961805565025,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 50.69916666670926,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 25.182395833343985,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 19.233822115384612,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 10.53849804688485,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 24.04591346156795,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 109.09078125,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 38.884854167135266,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 275.9789322917164,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 36.67967812545497,
- hasRDI: true,
- daily: 56.430274039161496,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 4.33051968756028,
- hasRDI: true,
- daily: 21.652598437801398,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 22.29651875033603,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 7.160250937538809,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 33.133937500266676,
- hasRDI: true,
- daily: 11.044645833422225,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 16.40465625013035,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 16.729281250136324,
- hasRDI: true,
- daily: 66.9171250005453,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 5.629059375,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 8.337340625035784,
- hasRDI: true,
- daily: 16.67468125007157,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1878.6531250313114,
- hasRDI: true,
- daily: 78.27721354297131,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 342.1550000037488,
- hasRDI: true,
- daily: 34.21550000037488,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 90.3071875001704,
- hasRDI: true,
- daily: 21.50171130956438,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 948.8678125003407,
- hasRDI: true,
- daily: 20.18867686170938,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 12.399990625140582,
- hasRDI: true,
- daily: 68.88883680633656,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.125428125009372,
- hasRDI: true,
- daily: 19.322073863721563,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 183.5134375001278,
- hasRDI: true,
- daily: 26.216205357161115,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1415.7865625008521,
- hasRDI: true,
- daily: 157.30961805565025,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 45.62925000003834,
- hasRDI: true,
- daily: 50.69916666670926,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.3021887500001278,
- hasRDI: true,
- daily: 25.182395833343985,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.2500396875,
- hasRDI: true,
- daily: 19.233822115384612,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 1.686159687501576,
- hasRDI: true,
- daily: 10.53849804688485,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.31259687500038336,
- hasRDI: true,
- daily: 24.04591346156795,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 436.363125,
- hasRDI: true,
- daily: 109.09078125,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 436.363125,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 5.8327281250702905,
- hasRDI: true,
- daily: 38.884854167135266,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 331.17471875005964,
- hasRDI: true,
- daily: 275.9789322917164,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 549.6010625034075,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/db1dda0c057461fa2eb49211bbfd4f4b?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_0f4ef6f5fb420dc465d7f4a83120f340',
- label: 'Quinoa Salad',
- image: 'https://www.edamam.com/web-img/159/1597abd059f43b5f813d9f4f123425a8.jpeg',
- source: 'Food Network',
- url: 'https://www.foodnetwork.com/recipes/sandra-lee/quinoa-salad-recipe-1917726',
- shareAs: 'http://www.edamam.com/recipe/quinoa-salad-0f4ef6f5fb420dc465d7f4a83120f340/salad',
- yield: 6,
- dietLabels: ['Balanced'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '1 cup quinoa',
- '2 cups chicken or vegetable stock',
- '1 hothouse cucumber, diced',
- '2 scallions',
- '1/2 cup roasted red pepper, diced',
- '1/4 cup flat leaf parsley, finely chopped',
- '1 tablespoon fines herbs (recommended: Spice Island)',
- '1/4 cup crumbled feta cheese',
- '3 tablespoons slivered almonds',
- '9 cups spring salad mix',
- '1/4 cup light roasted garlic and balsamic salad dressing',
- ],
- ingredients: [
- {
- text: '1 cup quinoa',
- weight: 170,
- foodCategory: 'grains',
- foodId: 'food_a0d1h1cbporq98adlzq8tadghm2a',
- image: 'https://www.edamam.com/food-img/b62/b622239a214b3bd9f63c8e93e6e9cde6.jpg',
- },
- {
- text: '2 cups chicken or vegetable stock',
- weight: 480,
- foodCategory: 'canned soup',
- foodId: 'food_bptblvzambd16nbhewqmhaw1rnh5',
- image: 'https://www.edamam.com/food-img/26a/26a10c4cb4e07bab54d8a687ef5ac7d8.jpg',
- },
- {
- text: '1 hothouse cucumber, diced',
- weight: 301,
- foodCategory: 'vegetables',
- foodId: 'food_bv7aggjag9rxsaatklqzobca5fzn',
- image: 'https://www.edamam.com/food-img/501/5015da0e5fc2b384696b3d949aefef86.jpg',
- },
- {
- text: '2 scallions',
- weight: 30,
- foodCategory: 'vegetables',
- foodId: 'food_bknlkyzbuzo27pb11whr4bttkuy6',
- image: 'https://www.edamam.com/food-img/b89/b89986ed6aa466285bdd99bac34b3c46.jpg',
- },
- {
- text: '1/2 cup roasted red pepper, diced',
- weight: 67.5,
- foodCategory: 'vegetables',
- foodId: 'food_b3qdnlvaxpt1i3ayle41la3mow3z',
- image: 'https://www.edamam.com/food-img/7f8/7f874d848dbb46bf1dfa5418564a736c.jpeg',
- },
- {
- text: '1/4 cup flat leaf parsley, finely chopped',
- weight: 15,
- foodCategory: 'vegetables',
- foodId: 'food_b244pqdazw24zobr5vqu2bf0uid8',
- image: 'https://www.edamam.com/food-img/46a/46a132e96626d7989b4d6ed8c91f4da0.jpg',
- },
- {
- text: '1 tablespoon fines herbs (recommended: Spice Island)',
- weight: 2.7,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_avsq22zadwyb5cb5sl1byaa4mbo8',
- image: 'https://www.edamam.com/food-img/89b/89b37a04e46e052671d73addcb84aa51.jpg',
- },
- {
- text: '1/4 cup crumbled feta cheese',
- weight: 37.5,
- foodCategory: 'Cheese',
- foodId: 'food_biry7gubtkpad3a7qkz6uba5acn9',
- image: 'https://www.edamam.com/food-img/37e/37ef3e404b1c02bf4707cb82010732b8.jpg',
- },
- {
- text: '3 tablespoons slivered almonds',
- weight: 26.812499999546674,
- foodCategory: 'plant-based protein',
- foodId: 'food_bq4d2wras281i0br37nrnaglo3yc',
- image: 'https://www.edamam.com/food-img/6c2/6c2dc21adf11afc4c8d390ee2f651e56.jpg',
- },
- {
- text: '9 cups spring salad mix',
- weight: 324,
- foodCategory: 'vegetables',
- foodId: 'food_bqalyxzbzu04hcb8xj930bzar7xg',
- image: 'https://www.edamam.com/food-img/b6d/b6d9f3052d27a3c71220cfa55c6f0a42.jpg',
- },
- {
- text: '1/4 cup light roasted garlic and balsamic salad dressing',
- weight: 62.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a67f1v3boelh4wasob4qib34t5bv',
- image: 'https://www.edamam.com/food-img/241/24178db68d42001caf980f8f209534cb.jpg',
- },
- ],
- calories: 1468.3713749973751,
- totalWeight: 1517.0124999995467,
- totalTime: 22,
- cuisineType: ['south american'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1468.3713749973751,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 70.08719124977365,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 15.351516249982765,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.004021874999932001,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 25.08724187485697,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 25.715118124944112,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 164.5158237499023,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 24.052562499943335,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 23.236413749980283,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 55.32396374990412,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 47.775,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1152.4431249999955,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 615.5056249987805,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 541.058749998776,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3056.843624996677,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 18.666393749983182,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 9.569109999985855,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1365.4201249978198,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1449.7300000000002,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 181.56099999999998,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.2838616249990706,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.9984792499948412,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 13.8486862499836,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.9323581249993793,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 564.9854999998006,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 564.9854999998006,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.63375,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.15000000000000002,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 16.50910374988381,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 879.7950000000001,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1213.11651124998,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 73.41856874986877,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 107.82644807657485,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 76.75758124991383,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 54.8386079166341,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 96.21024999977334,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 110.64792749980823,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 15.925,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 48.01846354166648,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 61.55056249987805,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 128.82351190447048,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 65.03922606375909,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 103.70218749990657,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 86.99190909078051,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 195.06001785683142,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 161.08111111111114,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 201.73444444444442,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 106.98846874992256,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 153.72917307652625,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 86.5542890623975,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 148.64293269225993,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 141.24637499995015,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 26.40625,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.0000000000000002,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 110.06069166589207,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 733.1625,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 70.08719124977365,
- hasRDI: true,
- daily: 107.82644807657485,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 15.351516249982765,
- hasRDI: true,
- daily: 76.75758124991383,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.004021874999932001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 25.08724187485697,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 25.715118124944112,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 164.5158237499023,
- hasRDI: true,
- daily: 54.8386079166341,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 140.46326124995898,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 24.052562499943335,
- hasRDI: true,
- daily: 96.21024999977334,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 23.236413749980283,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 55.32396374990412,
- hasRDI: true,
- daily: 110.64792749980823,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 47.775,
- hasRDI: true,
- daily: 15.925,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1152.4431249999955,
- hasRDI: true,
- daily: 48.01846354166648,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 615.5056249987805,
- hasRDI: true,
- daily: 61.55056249987805,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 541.058749998776,
- hasRDI: true,
- daily: 128.82351190447048,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3056.843624996677,
- hasRDI: true,
- daily: 65.03922606375909,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 18.666393749983182,
- hasRDI: true,
- daily: 103.70218749990657,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 9.569109999985855,
- hasRDI: true,
- daily: 86.99190909078051,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1365.4201249978198,
- hasRDI: true,
- daily: 195.06001785683142,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1449.7300000000002,
- hasRDI: true,
- daily: 161.08111111111114,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 181.56099999999998,
- hasRDI: true,
- daily: 201.73444444444442,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.2838616249990706,
- hasRDI: true,
- daily: 106.98846874992256,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.9984792499948412,
- hasRDI: true,
- daily: 153.72917307652625,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 13.8486862499836,
- hasRDI: true,
- daily: 86.5542890623975,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.9323581249993793,
- hasRDI: true,
- daily: 148.64293269225993,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 564.9854999998006,
- hasRDI: true,
- daily: 141.24637499995015,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 564.9854999998006,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.63375,
- hasRDI: true,
- daily: 26.40625,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.15000000000000002,
- hasRDI: true,
- daily: 1.0000000000000002,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 16.50910374988381,
- hasRDI: true,
- daily: 110.06069166589207,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 879.7950000000001,
- hasRDI: true,
- daily: 733.1625,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1213.11651124998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/0f4ef6f5fb420dc465d7f4a83120f340?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_7db5997d6132896155b9ebeb0bc596ad',
- label: 'Steak & chips salad',
- image: 'https://www.edamam.com/web-img/4a2/4a2bc6e663b5fb8fcc91f425398ef0f0.jpg',
- source: 'BBC Good Food',
- url: 'https://www.bbcgoodfood.com/recipes/steak-chips-salad',
- shareAs:
- 'http://www.edamam.com/recipe/steak-chips-salad-7db5997d6132896155b9ebeb0bc596ad/salad',
- yield: 4,
- dietLabels: ['High-Fiber', 'Low-Sodium'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '750g bag frozen potato wedges',
- '1 tbsp olive oil',
- '2 pieces sirloin steak , about 350g/12oz in total',
- '120g bag herb salad',
- '6 tbsp honey and mustard salad dressing , bought or homemade',
- ],
- ingredients: [
- {
- text: '750g bag frozen potato wedges',
- weight: 750,
- foodCategory: 'vegetables',
- foodId: 'food_abiw5baauresjmb6xpap2bg3otzu',
- image: 'https://www.edamam.com/food-img/651/6512e82417bce15c2899630c1a2799df.jpg',
- },
- {
- text: '1 tbsp olive oil',
- weight: 13.5,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '2 pieces sirloin steak , about 350g/12oz in total',
- weight: 680,
- foodCategory: 'meats',
- foodId: 'food_aifm62daw1i6txalya881bcetyzn',
- image: 'https://www.edamam.com/food-img/4f1/4f10105d5c8178f25590ca6dfcd37fca.jpg',
- },
- {
- text: '120g bag herb salad',
- weight: 120,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_avsq22zadwyb5cb5sl1byaa4mbo8',
- image: 'https://www.edamam.com/food-img/89b/89b37a04e46e052671d73addcb84aa51.jpg',
- },
- {
- text: '6 tbsp honey and mustard salad dressing , bought or homemade',
- weight: 96,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a67f1v3boelh4wasob4qib34t5bv',
- image: 'https://www.edamam.com/food-img/241/24178db68d42001caf980f8f209534cb.jpg',
- },
- ],
- calories: 2914.2799999999997,
- totalWeight: 1659.5,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2914.2799999999997,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 168.291,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 53.25948,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 66.21873500000001,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 29.999505,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 210.153,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 60.9,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 10.302000000000001,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 161.538,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 530.4,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 459.03,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 2528.135,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 572.5,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 6243.3150000000005,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 164.1736,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 33.867,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1899.5,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 228,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 207.75,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.576,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.29,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 57.522999999999996,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 6.5173000000000005,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 523.6,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 523.6,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 7.548,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 17.929850000000002,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 2184.825,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1091.018,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 145.714,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 258.90923076923076,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 266.29740000000004,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 70.051,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 243.6,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 323.076,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 176.8,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 19.12625,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 252.81350000000003,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 136.3095238095238,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 132.83648936170212,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 912.0755555555556,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 307.8818181818182,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 271.35714285714283,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 25.333333333333332,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 230.83333333333334,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 131.33333333333334,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 99.23076923076923,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 359.51874999999995,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 501.33076923076925,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 130.9,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 314.5,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 119.53233333333334,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 1820.6874999999998,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 168.291,
- hasRDI: true,
- daily: 258.90923076923076,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 53.25948,
- hasRDI: true,
- daily: 266.29740000000004,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 66.21873500000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 29.999505,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 210.153,
- hasRDI: true,
- daily: 70.051,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 149.253,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 60.9,
- hasRDI: true,
- daily: 243.6,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 10.302000000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 161.538,
- hasRDI: true,
- daily: 323.076,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 530.4,
- hasRDI: true,
- daily: 176.8,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 459.03,
- hasRDI: true,
- daily: 19.12625,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 2528.135,
- hasRDI: true,
- daily: 252.81350000000003,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 572.5,
- hasRDI: true,
- daily: 136.3095238095238,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 6243.3150000000005,
- hasRDI: true,
- daily: 132.83648936170212,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 164.1736,
- hasRDI: true,
- daily: 912.0755555555556,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 33.867,
- hasRDI: true,
- daily: 307.8818181818182,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1899.5,
- hasRDI: true,
- daily: 271.35714285714283,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 228,
- hasRDI: true,
- daily: 25.333333333333332,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 207.75,
- hasRDI: true,
- daily: 230.83333333333334,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.576,
- hasRDI: true,
- daily: 131.33333333333334,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.29,
- hasRDI: true,
- daily: 99.23076923076923,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 57.522999999999996,
- hasRDI: true,
- daily: 359.51874999999995,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 6.5173000000000005,
- hasRDI: true,
- daily: 501.33076923076925,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 523.6,
- hasRDI: true,
- daily: 130.9,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 523.6,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 7.548,
- hasRDI: true,
- daily: 314.5,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 17.929850000000002,
- hasRDI: true,
- daily: 119.53233333333334,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 2184.825,
- hasRDI: true,
- daily: 1820.6874999999998,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1091.018,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/7db5997d6132896155b9ebeb0bc596ad?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_1aae863595a9c94fe1c0a34b39abb03a',
- label: 'Radicchio, Fennel & Pear Salad',
- image: 'https://www.edamam.com/web-img/15e/15e56a86571b33cb9bef98d23b7fb31a.jpg',
- source: 'Whole Foods',
- url: 'http://www.wholefoodsmarket.com/recipes/2668',
- shareAs:
- 'http://www.edamam.com/recipe/radicchio-fennel-pear-salad-1aae863595a9c94fe1c0a34b39abb03a/salad',
- yield: 4,
- dietLabels: ['High-Fiber', 'Low-Sodium'],
- healthLabels: [
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'DASH',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '1 bulb fennel, halved and thinly sliced',
- '1/4 cup honey mustard dressing or other salad dressing',
- '1 head radicchio, cored, leaves torn into bite-size pieces',
- '2 Bosc or Asian pears, cored and chopped',
- '4 cups spring salad greens',
- ],
- ingredients: [
- {
- text: '1 bulb fennel, halved and thinly sliced',
- weight: 234,
- foodCategory: 'vegetables',
- foodId: 'food_a4sdbkob8ixokpb07a42dbt3typw',
- image: 'https://www.edamam.com/food-img/038/038c19f86af781e925c97991e17b90ed.jpeg',
- },
- {
- text: '1/4 cup honey mustard dressing or other salad dressing',
- weight: 62.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a67f1v3boelh4wasob4qib34t5bv',
- image: 'https://www.edamam.com/food-img/241/24178db68d42001caf980f8f209534cb.jpg',
- },
- {
- text: '1 head radicchio, cored, leaves torn into bite-size pieces',
- weight: 120,
- foodCategory: 'vegetables',
- foodId: 'food_av0qglzbwy5sirb81jxfeavj2eoo',
- image: 'https://www.edamam.com/food-img/fa6/fa6cd4d4541e9ea70cafd1f244f51597.jpeg',
- },
- {
- text: '2 Bosc or Asian pears, cored and chopped',
- weight: 372.8888888888889,
- foodCategory: 'fruit',
- foodId: 'food_bq6stkiaxkwhxia9q4v7wanjnew0',
- image: 'https://www.edamam.com/food-img/65a/65aec51d264db28bbe27117c9fdaaca7.jpg',
- },
- {
- text: '4 cups spring salad greens',
- weight: 144,
- foodCategory: 'vegetables',
- foodId: 'food_bqalyxzbzu04hcb8xj930bzar7xg',
- image: 'https://www.edamam.com/food-img/b6d/b6d9f3052d27a3c71220cfa55c6f0a42.jpg',
- },
- ],
- calories: 614.9116666666667,
- totalWeight: 933.3888888888889,
- totalTime: 0,
- cuisineType: ['asian'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 614.9116666666667,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 32.81854444444445,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 6.080935555555556,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 9.742986666666667,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 16.058555555555554,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 84.94427777777778,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 21.765555555555558,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 48.95856666666667,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 7.918399999999999,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 192.75388888888887,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 222.86,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 100.20222222222222,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2048.071111111111,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 4.3018,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1.8440888888888889,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 251.50666666666666,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 650.0488888888889,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 66.96222222222222,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.18814666666666668,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.3206311111111111,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 2.943951111111111,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.41611777777777775,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 216.00222222222223,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 216.00222222222223,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 7.714716666666667,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 713.2211111111111,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 802.3331111111111,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 30.745583333333336,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 50.49006837606838,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 30.404677777777785,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 28.31475925925926,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 87.06222222222223,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 15.836799999999998,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 8.031412037037036,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 22.286,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 23.857671957671958,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 43.575981087470446,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 23.89888888888889,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 16.764444444444447,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 35.92952380952381,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 72.22765432098765,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 74.40246913580248,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 15.67888888888889,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 24.663931623931624,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 18.399694444444446,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 32.00905982905982,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 54.00055555555556,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 51.431444444444445,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 594.3509259259259,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 32.81854444444445,
- hasRDI: true,
- daily: 50.49006837606838,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 6.080935555555556,
- hasRDI: true,
- daily: 30.404677777777785,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 9.742986666666667,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 16.058555555555554,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 84.94427777777778,
- hasRDI: true,
- daily: 28.31475925925926,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 63.17872222222223,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 21.765555555555558,
- hasRDI: true,
- daily: 87.06222222222223,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 48.95856666666667,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 7.918399999999999,
- hasRDI: true,
- daily: 15.836799999999998,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 192.75388888888887,
- hasRDI: true,
- daily: 8.031412037037036,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 222.86,
- hasRDI: true,
- daily: 22.286,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 100.20222222222222,
- hasRDI: true,
- daily: 23.857671957671958,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2048.071111111111,
- hasRDI: true,
- daily: 43.575981087470446,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 4.3018,
- hasRDI: true,
- daily: 23.89888888888889,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 1.8440888888888889,
- hasRDI: true,
- daily: 16.764444444444447,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 251.50666666666666,
- hasRDI: true,
- daily: 35.92952380952381,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 650.0488888888889,
- hasRDI: true,
- daily: 72.22765432098765,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 66.96222222222222,
- hasRDI: true,
- daily: 74.40246913580248,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.18814666666666668,
- hasRDI: true,
- daily: 15.67888888888889,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.3206311111111111,
- hasRDI: true,
- daily: 24.663931623931624,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 2.943951111111111,
- hasRDI: true,
- daily: 18.399694444444446,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.41611777777777775,
- hasRDI: true,
- daily: 32.00905982905982,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 216.00222222222223,
- hasRDI: true,
- daily: 54.00055555555556,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 216.00222222222223,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 7.714716666666667,
- hasRDI: true,
- daily: 51.431444444444445,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 713.2211111111111,
- hasRDI: true,
- daily: 594.3509259259259,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 802.3331111111111,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/1aae863595a9c94fe1c0a34b39abb03a?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_bd76f186805e4a9f4312516038f07e0e',
- label: 'Chicken Salad With Mango & Basil',
- image: 'https://www.edamam.com/web-img/a44/a44d07f61756a1be3766687067e5eb36.jpg',
- source: 'San Francisco Gate',
- url: 'http://www.sfgate.com/food/recipes/detail.html?rid=14131&sorig=qs',
- shareAs:
- 'http://www.edamam.com/recipe/chicken-salad-with-mango-basil-bd76f186805e4a9f4312516038f07e0e/salad',
- yield: 8,
- dietLabels: [],
- healthLabels: [
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- 'Dressing:',
- '1 small cooked rotisserie chicken (about 1 1/2 pounds)',
- '3 tablespoons red wine or raspberry vinegar',
- '3 tablespoons fresh basil, minced',
- 'Pinch sugar',
- '3 tablespoons vegetable oil',
- 'Salt and pepper, to taste',
- 'Salad:',
- '1 mango, mostly ripe but still firm',
- '10-ounce bag hearty salad mix, including radicchio',
- '1 1/2 cups garlic croutons',
- ],
- ingredients: [
- {
- text: '1 small cooked rotisserie chicken (about 1 1/2 pounds)',
- weight: 680.388555,
- foodCategory: 'Poultry',
- foodId: 'food_bmyxrshbfao9s1amjrvhoauob6mo',
- image: 'https://www.edamam.com/food-img/d33/d338229d774a743f7858f6764e095878.jpg',
- },
- {
- text: '3 tablespoons red wine or raspberry vinegar',
- weight: 44.0999999992544,
- foodCategory: 'wines',
- foodId: 'food_b5q0xv2ba8la5hbzdfzdgaca3fwu',
- image: 'https://www.edamam.com/food-img/82b/82b8d0db2d5c38fc7498a657c0afc4ee.JPG',
- },
- {
- text: '3 tablespoons fresh basil, minced',
- weight: 7.949999999999999,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bfeht3obd58c3gak5ehpibxgbbs6',
- image: 'https://www.edamam.com/food-img/5f1/5f1b05685ac2b404236a5d1c1f3c8c10.jpg',
- },
- {
- text: 'Pinch sugar',
- weight: 0.2604166669968817,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '3 tablespoons vegetable oil',
- weight: 42,
- foodCategory: 'Oils',
- foodId: 'food_bt1mzi2ah2sfg8bv7no1qai83w8s',
- image: 'https://www.edamam.com/food-img/6e5/6e51a63a6300a8ea1b4c4cc68dfaba33.jpg',
- },
- {
- text: 'Salt and pepper, to taste',
- weight: 8.725165217497509,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Salt and pepper, to taste',
- weight: 4.362582608748754,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1 mango, mostly ripe but still firm',
- weight: 336,
- foodCategory: 'fruit',
- foodId: 'food_an1dqoib8xj3tyb3pr7c0abi4rbw',
- image: 'https://www.edamam.com/food-img/6e0/6e04857756d0876f14bfc035ff238e0b.png',
- },
- {
- text: '10-ounce bag hearty salad mix, including radicchio',
- weight: 283.49523125,
- foodCategory: 'vegetables',
- foodId: 'food_bqalyxzbzu04hcb8xj930bzar7xg',
- image: 'https://www.edamam.com/food-img/b6d/b6d9f3052d27a3c71220cfa55c6f0a42.jpg',
- },
- {
- text: '1 1/2 cups garlic croutons',
- weight: 60,
- foodCategory: 'bread, rolls and tortillas',
- foodId: 'food_ad9psyqap98pmrar3z9qvaw0qpio',
- image: 'https://www.edamam.com/food-img/6f2/6f298bb7171f1c62384d9489bb60d45a.jpg',
- },
- ],
- calories: 1940.4037469461034,
- totalWeight: 1464.5655679595536,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1940.4037469461034,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 124.5523741803602,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 26.253453466103775,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.770924290878,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 65.33191236511365,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 24.09150438608031,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 100.98103429881385,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 13.292371406263435,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 51.33994916610426,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 0.25989583366288793,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 99.8808469144485,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 351.19816304999995,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 3391.8446336026777,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 285.8818000716602,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 206.08732762771643,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2235.420253308428,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 9.730077907023599,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 7.62167722133432,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 914.8578971621514,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1446.430582063362,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 157.21918875339998,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.8833447815324114,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.1898883737422459,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 37.78469786177782,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 2.374265084416034,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 377.15667996247987,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 310.55667996247985,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 39,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1.51825907394,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.9253284347999999,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 14.540653020080988,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 423.96098806026873,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 903.1779951441175,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 97.02018734730517,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 191.61903720055415,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 131.26726733051888,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 33.66034476627128,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 53.16948562505374,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 199.761693828897,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 117.06605434999997,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 141.3268597334449,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 28.58818000716602,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 49.06841133993249,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 47.562133049115495,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 54.055988372353326,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 69.28797473940291,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 130.69398530887875,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 160.71450911815134,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 174.68798750377775,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 73.61206512770094,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 91.52987490324968,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 236.1543616361114,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 182.6357757243103,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 94.28916999061998,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 63.26079474749999,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 6.1688562319999996,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 96.93768680053992,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 353.30082338355726,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 124.5523741803602,
- hasRDI: true,
- daily: 191.61903720055415,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 26.253453466103775,
- hasRDI: true,
- daily: 131.26726733051888,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.770924290878,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 65.33191236511365,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 24.09150438608031,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 100.98103429881385,
- hasRDI: true,
- daily: 33.66034476627128,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 87.68866289255041,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 13.292371406263435,
- hasRDI: true,
- daily: 53.16948562505374,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 51.33994916610426,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0.25989583366288793,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 99.8808469144485,
- hasRDI: true,
- daily: 199.761693828897,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 351.19816304999995,
- hasRDI: true,
- daily: 117.06605434999997,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 3391.8446336026777,
- hasRDI: true,
- daily: 141.3268597334449,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 285.8818000716602,
- hasRDI: true,
- daily: 28.58818000716602,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 206.08732762771643,
- hasRDI: true,
- daily: 49.06841133993249,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2235.420253308428,
- hasRDI: true,
- daily: 47.562133049115495,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 9.730077907023599,
- hasRDI: true,
- daily: 54.055988372353326,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 7.62167722133432,
- hasRDI: true,
- daily: 69.28797473940291,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 914.8578971621514,
- hasRDI: true,
- daily: 130.69398530887875,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1446.430582063362,
- hasRDI: true,
- daily: 160.71450911815134,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 157.21918875339998,
- hasRDI: true,
- daily: 174.68798750377775,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.8833447815324114,
- hasRDI: true,
- daily: 73.61206512770094,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.1898883737422459,
- hasRDI: true,
- daily: 91.52987490324968,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 37.78469786177782,
- hasRDI: true,
- daily: 236.1543616361114,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 2.374265084416034,
- hasRDI: true,
- daily: 182.6357757243103,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 377.15667996247987,
- hasRDI: true,
- daily: 94.28916999061998,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 310.55667996247985,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 39,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 1.51825907394,
- hasRDI: true,
- daily: 63.26079474749999,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.9253284347999999,
- hasRDI: true,
- daily: 6.1688562319999996,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 14.540653020080988,
- hasRDI: true,
- daily: 96.93768680053992,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 423.96098806026873,
- hasRDI: true,
- daily: 353.30082338355726,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 903.1779951441175,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/bd76f186805e4a9f4312516038f07e0e?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_903e3d14f32e06031851e102b3226073',
- label: 'Asparagus Sesame Salad',
- image: 'https://www.edamam.com/web-img/769/769ecb5881aa7e69a2e104fd8a1ef21b.jpg',
- source: 'Real Simple',
- url: 'https://www.realsimple.com/food-recipes/browse-all-recipes/asparagus-sesame-salad',
- shareAs:
- 'http://www.edamam.com/recipe/asparagus-sesame-salad-903e3d14f32e06031851e102b3226073/salad',
- yield: 4,
- dietLabels: [],
- healthLabels: [
- 'Sugar-Conscious',
- 'Keto-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: [],
- ingredientLines: [
- '1 pound asparagus',
- '1/4 cup rice vinegar',
- '2 tablespoons soy sauce',
- '1 tablespoon roasted sesame oil',
- '2 tablespoons chopped fresh cilantro',
- '1/8 teaspoon coarse salt',
- '1 1/2 cups baby arugula or mesclun salad',
- '2 tablespoons sesame seeds',
- ],
- ingredients: [
- {
- text: '1 pound asparagus',
- weight: 453.59237,
- foodCategory: 'vegetables',
- foodId: 'food_b7bgzddbqq26mia27xpv7acn083m',
- image: 'https://www.edamam.com/food-img/159/159dec8bbcabf7ed641a57b40a2d2eb9.jpg',
- },
- {
- text: '1/4 cup rice vinegar',
- weight: 59.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_axlcd4tack2d20bveizm4ayu0h2w',
- image: 'https://www.edamam.com/food-img/5f6/5f69b84c399d778c4728e9ab4f8065a2.jpg',
- },
- {
- text: '2 tablespoons soy sauce',
- weight: 32,
- foodCategory: 'plant-based protein',
- foodId: 'food_a5g9yevb1iactoaiimbvjbkrxueh',
- image: 'https://www.edamam.com/food-img/f56/f562e461eb0618f367f538b836c17b82.jpg',
- },
- {
- text: '1 tablespoon roasted sesame oil',
- weight: 13.6,
- foodCategory: 'Oils',
- foodId: 'food_b2id9opa0l5afvbw2do5xa1fnz4q',
- image: 'https://www.edamam.com/food-img/b87/b874ddcfb6770adc7a155355a902ffb8.jpg',
- },
- {
- text: '2 tablespoons chopped fresh cilantro',
- weight: 1.999999999966186,
- foodCategory: 'vegetables',
- foodId: 'food_alhzhuwb4lc7jnb5s6f02by60bzp',
- image: 'https://www.edamam.com/food-img/d57/d57e375b6ff99a90c7ee2b1990a1af36.jpg',
- },
- {
- text: '1/8 teaspoon coarse salt',
- weight: 0.6067708333641094,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1 1/2 cups baby arugula or mesclun salad',
- weight: 9.99999999999999,
- foodCategory: 'vegetables',
- foodId: 'food_a8z1kzrawhksuzav2g1irb6zf4zc',
- image: 'https://www.edamam.com/food-img/fa7/fa761a311efc0ec361a5eba4ed71870e.jpeg',
- },
- {
- text: '2 tablespoons sesame seeds',
- weight: 18,
- foodCategory: 'plant-based protein',
- foodId: 'food_bvxfnx8bwz2q3abs04kd6bbuf9w8',
- image: 'https://www.edamam.com/food-img/291/291b355a7a0948716243164427697279.jpg',
- },
- ],
- calories: 344.71247399999226,
- totalWeight: 588.6923699999663,
- totalTime: 15,
- cuisineType: ['chinese'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 344.71247399999226,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 23.343710843999826,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 3.3971369479999947,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 8.814379999999908,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 9.933996184999987,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 23.86018395599876,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 12.121439769999055,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 8.955736555999707,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 16.07583213999928,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1773.6218473999845,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 315.83216879997735,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 156.1779317999912,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1188.2065873998238,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 12.989126717999403,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 4.185748797999832,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 410.7480323999838,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 191.00510059988605,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 27.44117271999087,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.8073170890999775,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.7486652416999451,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 6.004333378599624,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.6126090566999496,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 268.748032399979,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 268.748032399979,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 5.453993780999155,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 207.6040259198952,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 513.8603073139689,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 17.235623699999614,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 35.91340129846127,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 16.985684739999975,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 7.953394651999586,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 48.48575907999622,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 32.15166427999856,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 73.90091030833268,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 31.58321687999774,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 37.18522185714076,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 25.280991221272846,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 72.16181509999667,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 38.05226179999847,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 58.67829034285483,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 21.222788955542896,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 30.490191911100965,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 67.2764240916648,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 57.58963397691885,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 37.527083616247644,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 47.12377359230381,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 67.18700809999476,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 36.359958539994366,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 173.00335493324602,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 23.343710843999826,
- hasRDI: true,
- daily: 35.91340129846127,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 3.3971369479999947,
- hasRDI: true,
- daily: 16.985684739999975,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 8.814379999999908,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 9.933996184999987,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 23.86018395599876,
- hasRDI: true,
- daily: 7.953394651999586,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 11.738744185999705,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 12.121439769999055,
- hasRDI: true,
- daily: 48.48575907999622,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 8.955736555999707,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 16.07583213999928,
- hasRDI: true,
- daily: 32.15166427999856,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1773.6218473999845,
- hasRDI: true,
- daily: 73.90091030833268,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 315.83216879997735,
- hasRDI: true,
- daily: 31.58321687999774,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 156.1779317999912,
- hasRDI: true,
- daily: 37.18522185714076,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1188.2065873998238,
- hasRDI: true,
- daily: 25.280991221272846,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 12.989126717999403,
- hasRDI: true,
- daily: 72.16181509999667,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 4.185748797999832,
- hasRDI: true,
- daily: 38.05226179999847,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 410.7480323999838,
- hasRDI: true,
- daily: 58.67829034285483,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 191.00510059988605,
- hasRDI: true,
- daily: 21.222788955542896,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 27.44117271999087,
- hasRDI: true,
- daily: 30.490191911100965,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.8073170890999775,
- hasRDI: true,
- daily: 67.2764240916648,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.7486652416999451,
- hasRDI: true,
- daily: 57.58963397691885,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 6.004333378599624,
- hasRDI: true,
- daily: 37.527083616247644,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.6126090566999496,
- hasRDI: true,
- daily: 47.12377359230381,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 268.748032399979,
- hasRDI: true,
- daily: 67.18700809999476,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 268.748032399979,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 5.453993780999155,
- hasRDI: true,
- daily: 36.359958539994366,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 207.6040259198952,
- hasRDI: true,
- daily: 173.00335493324602,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 513.8603073139689,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/903e3d14f32e06031851e102b3226073?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_169b0594408ee42bc0585fe140b74883',
- label: 'Egg Salad Recipe',
- image: 'https://www.edamam.com/web-img/834/8340e195c1ddf6aba72e40da0236211f.jpg',
- source: 'The Daily Meal',
- url: 'http://www.thedailymeal.com/egg-salad-0-recipe',
- shareAs:
- 'http://www.edamam.com/recipe/egg-salad-recipe-169b0594408ee42bc0585fe140b74883/salad',
- yield: 1,
- dietLabels: [],
- healthLabels: [
- 'Vegetarian',
- 'Pescatarian',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- 'Immuno-Supportive',
- ],
- cautions: ['FODMAP'],
- ingredientLines: [
- '2 hard-boiled eggs',
- '1-2 tablespoons finely chopped celery',
- '1-2 tablespoons finely chopped jalapeño',
- '3 tablespoons mayonnaise (you can cut it with half Greek yogurt for a lighter, tangy salad)',
- 'Salt, to taste',
- 'Salad greens (optional)',
- '2 slices whole wheat bread (optional)',
- ],
- ingredients: [
- {
- text: '2 hard-boiled eggs',
- weight: 80,
- foodCategory: 'Eggs',
- foodId: 'food_a2y52zfbr22uq1ah5thnqac607ft',
- image: 'https://www.edamam.com/food-img/e54/e54c012fabed0f9cf211a817d1e23c5c.jpg',
- },
- {
- text: '1-2 tablespoons finely chopped celery',
- weight: 11.25,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- {
- text: '1-2 tablespoons finely chopped jalapeño',
- weight: 8.437499999857348,
- foodCategory: 'vegetables',
- foodId: 'food_b7txsnbadj6plsbq27zvwah80r6y',
- image: 'https://www.edamam.com/food-img/0df/0df9aa459870a6d477b0925c1fdb6d4c.jpg',
- },
- {
- text: '3 tablespoons mayonnaise (you can cut it with half Greek yogurt for a lighter, tangy salad)',
- weight: 53.999999999087095,
- foodCategory: 'yogurt',
- foodId: 'food_bllzl82a5fkj4yanmzoztapdyryz',
- image: 'https://www.edamam.com/food-img/689/6891387401f579242e7303ce8ec00e18.jpg',
- },
- {
- text: 'Salt, to taste',
- weight: 1.3061249999936666,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Salad greens (optional)',
- weight: 0,
- foodCategory: 'vegetables',
- foodId: 'food_bqalyxzbzu04hcb8xj930bzar7xg',
- image: 'https://www.edamam.com/food-img/b6d/b6d9f3052d27a3c71220cfa55c6f0a42.jpg',
- },
- {
- text: '2 slices whole wheat bread (optional)',
- weight: 64,
- foodCategory: 'bread, rolls and tortillas',
- foodId: 'food_bavo9dwb2qgylob09j84nbhpxsg9',
- image: 'https://www.edamam.com/food-img/83a/83a9f144371e7967bdaa4ee50cdb4eaa.jpg',
- },
- ],
- calories: 336.50687499916444,
- totalWeight: 217.89745149927464,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['sandwiches', 'salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 336.50687499916444,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 13.640343749951088,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 4.870167499969743,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.0128,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 3.6644468749999586,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 2.1684174999998405,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 30.894962499960606,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 4.2562499999960055,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 5.953974999963997,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 22.12840624993206,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 305.58199999987863,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 506.22792749754535,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 184.60468835945352,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 58.505224514981904,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 313.55179611967264,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 2.577086589950733,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 1.9994474515001306,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 278.17374999996287,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 126.23124999992297,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 10.355624999830814,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.31069749999994295,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.5295987499999002,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 3.035519999998174,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.2780781249994023,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 68.40812499996149,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 68.40812499996149,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.8880000000000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.7600000000000002,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 2.8588374999948933,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 10.089187499973608,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 103.13503865286987,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 16.825343749958222,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 20.98514423069398,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 24.350837499848716,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 10.298320833320203,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 17.024999999984022,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 44.25681249986412,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 101.86066666662622,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 21.092830312397723,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 18.46046883594535,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 13.929815360709977,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 6.671314811056865,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 14.317147721948519,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 18.176795013637552,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 39.739107142851836,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 14.025694444435885,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 11.506249999812015,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 25.89145833332858,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 40.738365384607704,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 18.971999999988586,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 21.390624999954024,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 17.10203124999037,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 37.00000000000001,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 11.733333333333336,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 19.058916666632623,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 8.407656249978007,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 13.640343749951088,
- hasRDI: true,
- daily: 20.98514423069398,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 4.870167499969743,
- hasRDI: true,
- daily: 24.350837499848716,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.0128,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 3.6644468749999586,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 2.1684174999998405,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 30.894962499960606,
- hasRDI: true,
- daily: 10.298320833320203,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 26.6387124999646,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 4.2562499999960055,
- hasRDI: true,
- daily: 17.024999999984022,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 5.953974999963997,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 22.12840624993206,
- hasRDI: true,
- daily: 44.25681249986412,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 305.58199999987863,
- hasRDI: true,
- daily: 101.86066666662622,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 506.22792749754535,
- hasRDI: true,
- daily: 21.092830312397723,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 184.60468835945352,
- hasRDI: true,
- daily: 18.46046883594535,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 58.505224514981904,
- hasRDI: true,
- daily: 13.929815360709977,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 313.55179611967264,
- hasRDI: true,
- daily: 6.671314811056865,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 2.577086589950733,
- hasRDI: true,
- daily: 14.317147721948519,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 1.9994474515001306,
- hasRDI: true,
- daily: 18.176795013637552,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 278.17374999996287,
- hasRDI: true,
- daily: 39.739107142851836,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 126.23124999992297,
- hasRDI: true,
- daily: 14.025694444435885,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 10.355624999830814,
- hasRDI: true,
- daily: 11.506249999812015,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.31069749999994295,
- hasRDI: true,
- daily: 25.89145833332858,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.5295987499999002,
- hasRDI: true,
- daily: 40.738365384607704,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 3.035519999998174,
- hasRDI: true,
- daily: 18.971999999988586,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.2780781249994023,
- hasRDI: true,
- daily: 21.390624999954024,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 68.40812499996149,
- hasRDI: true,
- daily: 17.10203124999037,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 68.40812499996149,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.8880000000000001,
- hasRDI: true,
- daily: 37.00000000000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.7600000000000002,
- hasRDI: true,
- daily: 11.733333333333336,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 2.8588374999948933,
- hasRDI: true,
- daily: 19.058916666632623,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 10.089187499973608,
- hasRDI: true,
- daily: 8.407656249978007,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 103.13503865286987,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/169b0594408ee42bc0585fe140b74883?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_2fc519ae22c91af3acdc64590549311f',
- label: 'Citrus-Avocado Salad',
- image: 'https://www.edamam.com/web-img/154/1546fef87cf2da994d31ced8eb064d31.jpg',
- source: "Men's Health",
- url: 'https://www.menshealth.com/recipes/citrus-avocado-salad',
- shareAs:
- 'http://www.edamam.com/recipe/citrus-avocado-salad-2fc519ae22c91af3acdc64590549311f/salad',
- yield: 4,
- dietLabels: ['High-Fiber'],
- healthLabels: [
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Paleo',
- 'Mediterranean',
- 'DASH',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- 'SALAD:',
- '8 cups mixed salad greens',
- '2 navel oranges, separated into segments and chopped',
- '1 avocado, chopped',
- '1 tablespoon chopped walnuts',
- 'DRESSING:',
- '2 tablespoons lime juice',
- '2 tablespoons extra-virgin olive oil',
- '1 tablespoon finely chopped cilantro',
- '1/4 teaspoon salt',
- 'teaspoon ground red pepper',
- ],
- ingredients: [
- {
- text: '8 cups mixed salad greens',
- weight: 288,
- foodCategory: 'vegetables',
- foodId: 'food_bqalyxzbzu04hcb8xj930bzar7xg',
- image: 'https://www.edamam.com/food-img/b6d/b6d9f3052d27a3c71220cfa55c6f0a42.jpg',
- },
- {
- text: '2 navel oranges, separated into segments and chopped',
- weight: 280,
- foodCategory: 'fruit',
- foodId: 'food_agbq12basb38ixb00moxbahrx6f9',
- image: 'https://www.edamam.com/food-img/ffc/ffcb7b039bfc783fcfb417489160366e.jpg',
- },
- {
- text: '1 avocado, chopped',
- weight: 201,
- foodCategory: 'fruit',
- foodId: 'food_b0yuze4b1g3afpanijno5abtiu28',
- image: 'https://www.edamam.com/food-img/984/984a707ea8e9c6bf5f6498970a9e6d9d.jpg',
- },
- {
- text: '1 tablespoon chopped walnuts',
- weight: 7.31249999987637,
- foodCategory: 'plant-based protein',
- foodId: 'food_acqkmojaw4fltga9jad8mb85u9z2',
- image: 'https://www.edamam.com/food-img/624/6243d320d94b15ebaece2634cc5b40c5.jpg',
- },
- {
- text: '2 tablespoons lime juice',
- weight: 30.799999999479265,
- foodCategory: 'fruit',
- foodId: 'food_b0iywbmaujvd4eblrooo9bsvn7e6',
- image: 'https://www.edamam.com/food-img/8f0/8f0c10eb3dbf476a05e61018e76ea220.jpg',
- },
- {
- text: '2 tablespoons extra-virgin olive oil',
- weight: 27,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '1 tablespoon finely chopped cilantro',
- weight: 0.999999999983093,
- foodCategory: 'vegetables',
- foodId: 'food_alhzhuwb4lc7jnb5s6f02by60bzp',
- image: 'https://www.edamam.com/food-img/d57/d57e375b6ff99a90c7ee2b1990a1af36.jpg',
- },
- {
- text: '1/4 teaspoon salt',
- weight: 1.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'teaspoon ground red pepper',
- weight: 3.104166666824113,
- foodCategory: 'vegetables',
- foodId: 'food_a8g63g7ak6bnmvbu7agxibp4a0dy',
- image: 'https://www.edamam.com/food-img/4dc/4dc48b1a506d334b4ab6671b9d56a18f.jpeg',
- },
- ],
- calories: 797.3960416657729,
- totalWeight: 839.7166666661628,
- totalTime: 10,
- cuisineType: ['caribbean'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 797.3960416657729,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 62.1231537499194,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 8.558025874992426,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 40.155272749988875,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 10.27358566660833,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 64.34268499994808,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 24.077324999992474,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 28.22345124999444,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 11.779884999980183,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 680.7664166666523,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 261.19554166647225,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 141.19524999977753,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2078.8039166657563,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 4.3740116666629785,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.293656666662739,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 283.34033333286555,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1122.2026666668448,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 225.645083333372,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.5616518749995218,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.6543472916665096,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 5.93091141666589,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.0584652499995715,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 379.74416666655543,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 379.74416666655543,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 9.281793333333388,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 425.84234166661554,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 693.4990908329852,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 39.86980208328865,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 95.5740826921837,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 42.79012937496213,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 21.44756166664936,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 96.3092999999699,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 23.559769999960366,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 28.365267361110508,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 26.119554166647223,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 33.617916666613695,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 44.229870567356514,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 24.300064814794325,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 20.851424242388536,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 40.47719047612365,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 124.68918518520499,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 250.71675925930225,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 46.80432291662682,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 50.33440705126997,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 37.06819635416181,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 81.42040384612089,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 94.93604166663884,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 61.87862222222259,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 354.86861805551297,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 62.1231537499194,
- hasRDI: true,
- daily: 95.5740826921837,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 8.558025874992426,
- hasRDI: true,
- daily: 42.79012937496213,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 40.155272749988875,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 10.27358566660833,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 64.34268499994808,
- hasRDI: true,
- daily: 21.44756166664936,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 40.265359999955606,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 24.077324999992474,
- hasRDI: true,
- daily: 96.3092999999699,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 28.22345124999444,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 11.779884999980183,
- hasRDI: true,
- daily: 23.559769999960366,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 680.7664166666523,
- hasRDI: true,
- daily: 28.365267361110508,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 261.19554166647225,
- hasRDI: true,
- daily: 26.119554166647223,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 141.19524999977753,
- hasRDI: true,
- daily: 33.617916666613695,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2078.8039166657563,
- hasRDI: true,
- daily: 44.229870567356514,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 4.3740116666629785,
- hasRDI: true,
- daily: 24.300064814794325,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.293656666662739,
- hasRDI: true,
- daily: 20.851424242388536,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 283.34033333286555,
- hasRDI: true,
- daily: 40.47719047612365,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1122.2026666668448,
- hasRDI: true,
- daily: 124.68918518520499,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 225.645083333372,
- hasRDI: true,
- daily: 250.71675925930225,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.5616518749995218,
- hasRDI: true,
- daily: 46.80432291662682,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.6543472916665096,
- hasRDI: true,
- daily: 50.33440705126997,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 5.93091141666589,
- hasRDI: true,
- daily: 37.06819635416181,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.0584652499995715,
- hasRDI: true,
- daily: 81.42040384612089,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 379.74416666655543,
- hasRDI: true,
- daily: 94.93604166663884,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 379.74416666655543,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 9.281793333333388,
- hasRDI: true,
- daily: 61.87862222222259,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 425.84234166661554,
- hasRDI: true,
- daily: 354.86861805551297,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 693.4990908329852,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/2fc519ae22c91af3acdc64590549311f?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_807a9503ee9abeaa79935d89a5667257',
- label: 'Green Salad with Hazelnut Vinaigrette',
- image: 'https://www.edamam.com/web-img/262/262e45305accd188e0a46c1bcc23ca0d.jpg',
- source: 'My Recipes',
- url: 'http://www.myrecipes.com/recipe/green-salad-with-hazelnut',
- shareAs:
- 'http://www.edamam.com/recipe/green-salad-with-hazelnut-vinaigrette-807a9503ee9abeaa79935d89a5667257/salad',
- yield: 4,
- dietLabels: ['High-Fiber', 'Low-Sodium'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'DASH',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- 'Immuno-Supportive',
- ],
- cautions: [],
- ingredientLines: [
- 'Hazelnut Vinaigrette:',
- '1 1/2 teaspoons red wine vinegar',
- '1/4 teaspoon Dijon mustard',
- '1/8 teaspoon fine sea salt',
- '1/8 teaspoon freshly ground black pepper',
- '1 1/2 tablespoons toasted hazelnut oil',
- 'Salad:',
- '4 cups packaged herb salad blend (such as Fresh Express)',
- '1/2 shallot, thinly sliced',
- ],
- ingredients: [
- {
- text: '1 1/2 teaspoons red wine vinegar',
- weight: 7.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_ad6iyy1anmzb49a817rgnabnz8c9',
- image: 'https://www.edamam.com/food-img/dc8/dc8e998b32b8d45ba15c1b1e6711e958.jpg',
- },
- {
- text: '1/4 teaspoon Dijon mustard',
- weight: 1.25,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a34cdj5b0kyuhfbov30xcb50u4dv',
- image: 'https://www.edamam.com/food-img/e23/e238f2e4cfa6aa1a30f46dc73e7344eb.jpg',
- },
- {
- text: '1/8 teaspoon fine sea salt',
- weight: 0.75,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1/8 teaspoon freshly ground black pepper',
- weight: 0.2875,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1 1/2 tablespoons toasted hazelnut oil',
- weight: 20.4,
- foodCategory: 'Oils',
- foodId: 'food_bmgo201ag4gz0waauxms1axzgubt',
- image: 'https://www.edamam.com/food-img/552/5526f976e3f5447aac0c4e03f575dd4c.jpg',
- },
- {
- text: '4 cups packaged herb salad blend (such as Fresh Express)',
- weight: 172.8000000029216,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_avsq22zadwyb5cb5sl1byaa4mbo8',
- image: 'https://www.edamam.com/food-img/89b/89b37a04e46e052671d73addcb84aa51.jpg',
- },
- {
- text: '1/2 shallot, thinly sliced',
- weight: 29.555555555555557,
- foodCategory: 'vegetables',
- foodId: 'food_bu2ver7a5f52dfap8q9f0bn085qb',
- image: 'https://www.edamam.com/food-img/d23/d23e3be21df05e9e16c05eadb12341e7.jpeg',
- },
- ],
- calories: 681.4406250080635,
- totalWeight: 232.54305555847714,
- totalTime: 8,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 681.4406250080635,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 33.319718055772626,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 6.238741444524203,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.0001125,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 16.757697402791507,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 4.1611909167014325,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 115.7306345852014,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 65.00451527885878,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 5.294242222272182,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 16.560590139155046,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 403.72916666827354,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 3279.546680610774,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 387.76579167309416,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1514.0134305793374,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 214.01973292027776,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 10.811683472402777,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 367.46558333920575,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 328.46012500555105,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 88.80569444590525,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.9067203333483213,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.6967756111227683,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 8.605779736255439,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.0540782916827356,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 483.65726389689405,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 483.65726389689405,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 22.57355222244076,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 2963.380581994535,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 45.21552583356093,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 34.07203125040318,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 51.26110470118866,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 31.193707222621015,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 38.57687819506714,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 260.0180611154351,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 33.12118027831009,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 16.822048611178065,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 327.95466806107737,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 92.32518849359384,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 32.21305171445398,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 1188.9985162237654,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 98.28803156729796,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 52.49508333417225,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 36.49556944506122,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 98.6729938287836,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 75.56002777902677,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 53.59812393252064,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 53.786123351596494,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 81.08294551405659,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 120.91431597422351,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 150.49034814960507,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 2469.4838183287793,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 33.319718055772626,
- hasRDI: true,
- daily: 51.26110470118866,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 6.238741444524203,
- hasRDI: true,
- daily: 31.193707222621015,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.0001125,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 16.757697402791507,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 4.1611909167014325,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 115.7306345852014,
- hasRDI: true,
- daily: 38.57687819506714,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 50.726119306342625,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 65.00451527885878,
- hasRDI: true,
- daily: 260.0180611154351,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 5.294242222272182,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 16.560590139155046,
- hasRDI: true,
- daily: 33.12118027831009,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 403.72916666827354,
- hasRDI: true,
- daily: 16.822048611178065,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 3279.546680610774,
- hasRDI: true,
- daily: 327.95466806107737,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 387.76579167309416,
- hasRDI: true,
- daily: 92.32518849359384,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1514.0134305793374,
- hasRDI: true,
- daily: 32.21305171445398,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 214.01973292027776,
- hasRDI: true,
- daily: 1188.9985162237654,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 10.811683472402777,
- hasRDI: true,
- daily: 98.28803156729796,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 367.46558333920575,
- hasRDI: true,
- daily: 52.49508333417225,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 328.46012500555105,
- hasRDI: true,
- daily: 36.49556944506122,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 88.80569444590525,
- hasRDI: true,
- daily: 98.6729938287836,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.9067203333483213,
- hasRDI: true,
- daily: 75.56002777902677,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.6967756111227683,
- hasRDI: true,
- daily: 53.59812393252064,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 8.605779736255439,
- hasRDI: true,
- daily: 53.786123351596494,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.0540782916827356,
- hasRDI: true,
- daily: 81.08294551405659,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 483.65726389689405,
- hasRDI: true,
- daily: 120.91431597422351,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 483.65726389689405,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 22.57355222244076,
- hasRDI: true,
- daily: 150.49034814960507,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 2963.380581994535,
- hasRDI: true,
- daily: 2469.4838183287793,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 45.21552583356093,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/807a9503ee9abeaa79935d89a5667257?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_e2a04a8cd05720a8105047614b73dd9c',
- label: 'Mango and Shrimp Salad',
- image: 'https://www.edamam.com/web-img/2a9/2a93083acb831389089ff87659cf5039.jpg',
- source: 'Food52',
- url: 'https://food52.com/recipes/1976-mango-and-shrimp-salad',
- shareAs:
- 'http://www.edamam.com/recipe/mango-and-shrimp-salad-e2a04a8cd05720a8105047614b73dd9c/salad',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Kidney-Friendly',
- 'Pescatarian',
- 'Mediterranean',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Immuno-Supportive',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '1 big ripe mango',
- '1/3 cup canola oil',
- '1 lime - juice',
- '1 tablespoon fresh ginger juice (grate the ginger and then squeeze the juice)',
- '2 teaspoons curry powder',
- 'Sechuan pepper',
- 'Salt',
- '30 fresh shrimps, skin removed and deveined',
- '3 tablespoons extra virgin olive oil',
- 'Sechuan pepper',
- '2 cups mixed salad',
- 'Salad seasoning',
- '1 small ripe mango cut in little cubes',
- 'Black hawaian salt for garnish',
- ],
- ingredients: [
- {
- text: '1 big ripe mango',
- weight: 336,
- foodCategory: 'fruit',
- foodId: 'food_an1dqoib8xj3tyb3pr7c0abi4rbw',
- image: 'https://www.edamam.com/food-img/6e0/6e04857756d0876f14bfc035ff238e0b.png',
- },
- {
- text: '1/3 cup canola oil',
- weight: 72.66666666666666,
- foodCategory: 'Oils',
- foodId: 'food_bk9p9aaavhvoq4bqsnprobpsiuxs',
- image: 'https://www.edamam.com/food-img/07e/07e106ab3536d57428e5c46d009038f8.jpg',
- },
- {
- text: '1 lime - juice',
- weight: 44,
- foodCategory: 'fruit',
- foodId: 'food_b0iywbmaujvd4eblrooo9bsvn7e6',
- image: 'https://www.edamam.com/food-img/8f0/8f0c10eb3dbf476a05e61018e76ea220.jpg',
- },
- {
- text: '1 tablespoon fresh ginger juice (grate the ginger and then squeeze the juice)',
- weight: 5.99999999989856,
- foodCategory: 'vegetables',
- foodId: 'food_bi2ki2xb5zmmvbaiwf7ztbgktzp6',
- image: 'https://www.edamam.com/food-img/b9c/b9c06ef451ef29513880af0a53ebbaa6.jpg',
- },
- {
- text: '2 teaspoons curry powder',
- weight: 4,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_ao4koeoajh7yjxaq2knzrbv55y8o',
- image: 'https://www.edamam.com/food-img/9ce/9ce02a2887385fd2adaec8dd8adcf9c5.jpg',
- },
- {
- text: 'Sechuan pepper',
- weight: 2.8054999999996952,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: 'Salt',
- weight: 5.6109999999993905,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '30 fresh shrimps, skin removed and deveined',
- weight: 180,
- foodCategory: 'seafood',
- foodId: 'food_b38bejhbq9loe2bbb7bnmbcpteft',
- image: 'https://www.edamam.com/food-img/ebe/ebe2888b894f48d19762e1d606db0206.jpg',
- },
- {
- text: '3 tablespoons extra virgin olive oil',
- weight: 40.5,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: 'Sechuan pepper',
- weight: 2.8054999999996952,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: 'Salad seasoning',
- weight: 9.35166666666565,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_aj7w3xab0epj7cbgkbkpwadysovd',
- image: 'https://www.edamam.com/food-img/c23/c23e20823b442067307aa436969358f1.jpg',
- },
- {
- text: '1 small ripe mango cut in little cubes',
- weight: 252,
- foodCategory: 'fruit',
- foodId: 'food_an1dqoib8xj3tyb3pr7c0abi4rbw',
- image: 'https://www.edamam.com/food-img/6e0/6e04857756d0876f14bfc035ff238e0b.png',
- },
- {
- text: 'Black hawaian salt for garnish',
- weight: 5.6109999999993905,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- ],
- calories: 1552.5865599999142,
- totalWeight: 953.1651700948788,
- totalTime: 83,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1552.5865599999142,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 118.7423657666658,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 12.422294953333086,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.3194333333333333,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 77.19705138999983,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 26.03879437999981,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 106.44659266664759,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 14.308321333331037,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 81.48104039999825,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 31.66500773333133,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 226.8,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2209.5067620797604,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 309.13293082276664,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 145.27290170090288,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1453.603456940496,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 6.241184694645747,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.882249070094598,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 569.2567299999628,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 429.49916999999846,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 228.6821999999948,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.2509282799999713,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.2950414833332958,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 7.713878229999202,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.1598100099998225,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 308.1991699999873,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 308.1991699999873,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1.9980000000000002,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.18000000000000002,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 27.471146399999718,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 190.19386366665736,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 686.7716424401098,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 77.62932799999571,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 182.6805627179474,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 62.11147476666544,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 35.4821975555492,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 57.23328533332415,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 63.330015466662665,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 75.6,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 92.06278175332335,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 30.913293082276663,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 34.588786119262586,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 30.927733126393534,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 34.673248303587485,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 26.202264273587254,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 81.32238999999468,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 47.72212999999983,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 254.09133333332755,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 20.910689999997608,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 22.695498717945828,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 48.211738937495014,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 89.21615461537097,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 77.04979249999683,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 83.25000000000001,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.2000000000000002,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 183.14097599999812,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 158.49488638888116,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 118.7423657666658,
- hasRDI: true,
- daily: 182.6805627179474,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 12.422294953333086,
- hasRDI: true,
- daily: 62.11147476666544,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.3194333333333333,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 77.19705138999983,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 26.03879437999981,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 106.44659266664759,
- hasRDI: true,
- daily: 35.4821975555492,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 92.13827133331655,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 14.308321333331037,
- hasRDI: true,
- daily: 57.23328533332415,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 81.48104039999825,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 31.66500773333133,
- hasRDI: true,
- daily: 63.330015466662665,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 226.8,
- hasRDI: true,
- daily: 75.6,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2209.5067620797604,
- hasRDI: true,
- daily: 92.06278175332335,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 309.13293082276664,
- hasRDI: true,
- daily: 30.913293082276663,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 145.27290170090288,
- hasRDI: true,
- daily: 34.588786119262586,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1453.603456940496,
- hasRDI: true,
- daily: 30.927733126393534,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 6.241184694645747,
- hasRDI: true,
- daily: 34.673248303587485,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.882249070094598,
- hasRDI: true,
- daily: 26.202264273587254,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 569.2567299999628,
- hasRDI: true,
- daily: 81.32238999999468,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 429.49916999999846,
- hasRDI: true,
- daily: 47.72212999999983,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 228.6821999999948,
- hasRDI: true,
- daily: 254.09133333332755,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.2509282799999713,
- hasRDI: true,
- daily: 20.910689999997608,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.2950414833332958,
- hasRDI: true,
- daily: 22.695498717945828,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 7.713878229999202,
- hasRDI: true,
- daily: 48.211738937495014,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.1598100099998225,
- hasRDI: true,
- daily: 89.21615461537097,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 308.1991699999873,
- hasRDI: true,
- daily: 77.04979249999683,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 308.1991699999873,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 1.9980000000000002,
- hasRDI: true,
- daily: 83.25000000000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.18000000000000002,
- hasRDI: true,
- daily: 1.2000000000000002,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 27.471146399999718,
- hasRDI: true,
- daily: 183.14097599999812,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 190.19386366665736,
- hasRDI: true,
- daily: 158.49488638888116,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 686.7716424401098,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/e2a04a8cd05720a8105047614b73dd9c?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_af6176f4ddf57e471537a303490af4bb',
- label: 'Heart-Shaped Salad',
- image: 'https://www.edamam.com/web-img/a1d/a1d996360fbe7f5c074b16783a99f223.jpg',
- source: 'Delish',
- url: 'http://www.delish.com/cooking/recipe-ideas/recipes/a36367/heart-shaped-salad-recipe-ghk0214/',
- shareAs:
- 'http://www.edamam.com/recipe/heart-shaped-salad-af6176f4ddf57e471537a303490af4bb/salad',
- yield: 4,
- dietLabels: ['Low-Carb'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Kidney-Friendly',
- 'Keto-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'DASH',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '1 head iceberg lettuce',
- '¼ c. your favorite salad dressing',
- 'salt',
- 'Freshly ground pepper',
- ],
- ingredients: [
- {
- text: '1 head iceberg lettuce',
- weight: 525,
- foodCategory: 'vegetables',
- foodId: 'food_advhqk1a09o2noblosrg6a4z10xv',
- image: 'https://www.edamam.com/food-img/3c0/3c00c5ba27678b2f8e1c58b342bd98c7.jpg',
- },
- {
- text: '¼ c. your favorite salad dressing',
- weight: 62.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a67f1v3boelh4wasob4qib34t5bv',
- image: 'https://www.edamam.com/food-img/241/24178db68d42001caf980f8f209534cb.jpg',
- },
- {
- text: 'salt',
- weight: 3.525,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Freshly ground pepper',
- weight: 1.7625,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- ],
- calories: 358.548875,
- totalWeight: 592.6600970341607,
- totalTime: 0,
- cuisineType: ['mediterranean'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 358.548875,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 32.1049575,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 5.806534,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 9.294524874999999,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 15.468589750000001,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 18.282118750000002,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 6.7459125,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 11.916279999999999,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 4.908123750000001,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1370.3181585000004,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 103.12329828819855,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 39.79785097034161,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 768.9454327627328,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 2.33485082021273,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 0.8118713470341606,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 107.78475,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 131.725875,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 14.7,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.2171535,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.1344225,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 0.6658953750000001,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.225628875,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 152.549625,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 152.549625,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 3.84458,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 191.1602125,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 531.9614026940684,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 17.927443750000002,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 49.3922423076923,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 29.032670000000003,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 6.094039583333334,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 26.98365,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 9.816247500000001,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 57.09658993750002,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 10.312329828819855,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 9.475678802462287,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 16.360541122611338,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 12.971393445626278,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 7.380648609401461,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 15.39782142857143,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 14.636208333333332,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 16.333333333333332,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 18.096125,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 10.340192307692307,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 4.16184609375,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 17.35606730769231,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 38.13740625,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 25.630533333333336,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 159.30017708333335,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 32.1049575,
- hasRDI: true,
- daily: 49.3922423076923,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 5.806534,
- hasRDI: true,
- daily: 29.032670000000003,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 9.294524874999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 15.468589750000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 18.282118750000002,
- hasRDI: true,
- daily: 6.094039583333334,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 11.536206250000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 6.7459125,
- hasRDI: true,
- daily: 26.98365,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 11.916279999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 4.908123750000001,
- hasRDI: true,
- daily: 9.816247500000001,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1370.3181585000004,
- hasRDI: true,
- daily: 57.09658993750002,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 103.12329828819855,
- hasRDI: true,
- daily: 10.312329828819855,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 39.79785097034161,
- hasRDI: true,
- daily: 9.475678802462287,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 768.9454327627328,
- hasRDI: true,
- daily: 16.360541122611338,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 2.33485082021273,
- hasRDI: true,
- daily: 12.971393445626278,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 0.8118713470341606,
- hasRDI: true,
- daily: 7.380648609401461,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 107.78475,
- hasRDI: true,
- daily: 15.39782142857143,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 131.725875,
- hasRDI: true,
- daily: 14.636208333333332,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 14.7,
- hasRDI: true,
- daily: 16.333333333333332,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.2171535,
- hasRDI: true,
- daily: 18.096125,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.1344225,
- hasRDI: true,
- daily: 10.340192307692307,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 0.6658953750000001,
- hasRDI: true,
- daily: 4.16184609375,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.225628875,
- hasRDI: true,
- daily: 17.35606730769231,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 152.549625,
- hasRDI: true,
- daily: 38.13740625,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 152.549625,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 3.84458,
- hasRDI: true,
- daily: 25.630533333333336,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 191.1602125,
- hasRDI: true,
- daily: 159.30017708333335,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 531.9614026940684,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/af6176f4ddf57e471537a303490af4bb?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_9293163b09aa19bcd8839e2efbc75cd0',
- label: 'Orange & Avocado Salad',
- image: 'https://www.edamam.com/web-img/24d/24df479bed91d41bf133c24c092a4e44.jpg',
- source: 'EatingWell',
- url: 'http://www.eatingwell.com/recipes/orange_avocado_salad.html',
- shareAs:
- 'http://www.edamam.com/recipe/orange-avocado-salad-9293163b09aa19bcd8839e2efbc75cd0/salad',
- yield: 4,
- dietLabels: ['High-Fiber', 'Low-Sodium'],
- healthLabels: [
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'DASH',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- 'This recipe calls for:',
- 'Cilantro-Lime Vinaigrette',
- '1/2 cup Cilantro-Lime Vinaigrette, (recipe follows)',
- '8 cups mixed salad greens',
- '1 cup orange segments',
- '1 avocado, diced',
- '1/4 cup slivered red onion',
- ],
- ingredients: [
- {
- text: 'Cilantro-Lime Vinaigrette',
- weight: 7.09,
- foodCategory: 'vegetables',
- foodId: 'food_alhzhuwb4lc7jnb5s6f02by60bzp',
- image: 'https://www.edamam.com/food-img/d57/d57e375b6ff99a90c7ee2b1990a1af36.jpg',
- },
- {
- text: '8 cups mixed salad greens',
- weight: 288,
- foodCategory: 'vegetables',
- foodId: 'food_bqalyxzbzu04hcb8xj930bzar7xg',
- image: 'https://www.edamam.com/food-img/b6d/b6d9f3052d27a3c71220cfa55c6f0a42.jpg',
- },
- {
- text: '1 cup orange segments',
- weight: 180,
- foodCategory: 'fruit',
- foodId: 'food_b0bnl8oayiqhs2at63ifxbm6i3o3',
- image: 'https://www.edamam.com/food-img/8ea/8ea264a802d6e643c1a340a77863c6ef.jpg',
- },
- {
- text: '1 avocado, diced',
- weight: 201,
- foodCategory: 'fruit',
- foodId: 'food_b0yuze4b1g3afpanijno5abtiu28',
- image: 'https://www.edamam.com/food-img/984/984a707ea8e9c6bf5f6498970a9e6d9d.jpg',
- },
- {
- text: '1/4 cup slivered red onion',
- weight: 40,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- ],
- calories: 467.0307,
- totalWeight: 716.0899999999999,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 467.0307,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 30.191468000000004,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 4.3756526000000004,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 19.7793675,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 3.940956000000001,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 50.557103000000005,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 22.40952,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 22.160683,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 10.219817,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 99.5714,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 213.75029999999998,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 119.5734,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1954.7089000000003,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 3.9717930000000004,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.03425,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 228.2432,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1123.3632999999998,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 147.2303,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.5160203,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.5859858000000001,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 5.2063626,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.9423341000000001,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 338.24580000000003,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 338.24580000000003,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 5.30355,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 428.093,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 619.0663890000001,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 23.351535,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 46.448412307692315,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 21.878263,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 16.85236766666667,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 89.63808,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 20.439634,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 4.148808333333333,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 21.37503,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 28.469857142857144,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 41.589551063829795,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 22.065516666666667,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 18.49318181818182,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 32.60617142857143,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 124.81814444444441,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 163.58922222222222,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 43.001691666666666,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 45.07583076923078,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 32.53976625,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 72.48723846153847,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 84.56145000000001,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 35.357,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 356.7441666666667,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 30.191468000000004,
- hasRDI: true,
- daily: 46.448412307692315,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 4.3756526000000004,
- hasRDI: true,
- daily: 21.878263,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 19.7793675,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 3.940956000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 50.557103000000005,
- hasRDI: true,
- daily: 16.85236766666667,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 28.147583000000004,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 22.40952,
- hasRDI: true,
- daily: 89.63808,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 22.160683,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 10.219817,
- hasRDI: true,
- daily: 20.439634,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 99.5714,
- hasRDI: true,
- daily: 4.148808333333333,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 213.75029999999998,
- hasRDI: true,
- daily: 21.37503,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 119.5734,
- hasRDI: true,
- daily: 28.469857142857144,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1954.7089000000003,
- hasRDI: true,
- daily: 41.589551063829795,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 3.9717930000000004,
- hasRDI: true,
- daily: 22.065516666666667,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.03425,
- hasRDI: true,
- daily: 18.49318181818182,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 228.2432,
- hasRDI: true,
- daily: 32.60617142857143,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1123.3632999999998,
- hasRDI: true,
- daily: 124.81814444444441,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 147.2303,
- hasRDI: true,
- daily: 163.58922222222222,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.5160203,
- hasRDI: true,
- daily: 43.001691666666666,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.5859858000000001,
- hasRDI: true,
- daily: 45.07583076923078,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 5.2063626,
- hasRDI: true,
- daily: 32.53976625,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.9423341000000001,
- hasRDI: true,
- daily: 72.48723846153847,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 338.24580000000003,
- hasRDI: true,
- daily: 84.56145000000001,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 338.24580000000003,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 5.30355,
- hasRDI: true,
- daily: 35.357,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 428.093,
- hasRDI: true,
- daily: 356.7441666666667,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 619.0663890000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/9293163b09aa19bcd8839e2efbc75cd0?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- ],
-};
-
-export const veganRecipes = {
- from: 1,
- to: 20,
- count: 10000,
- _links: {
- next: {
- href: 'https://api.edamam.com/api/recipes/v2?q=vegan&app_key=fd382a172ba8d6668c0430dc9c14a181&_cont=CHcVQBtNNQphDmgVQntAEX4BYl1tAwcPQGBIAGoQYlJ7AwIVX3dFVWQWZ11xAQoBEmERUTAbNVZyAQZRQWJAVmpCZQQgBhFqX3cWQT1OcV9xBB8VADQWVhFCPwoxXVZEITQeVDcBaR4-SQ%3D%3D&type=public&app_id=ea1d37d5',
- title: 'Next page',
- },
- },
- hits: [
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_225c6ad5a2b909c3f2bdca88fcaf8aee',
- label: 'Vegan cupcakes',
- image: 'https://images.unsplash.com/photo-1541014741259-de529411b96a',
- source: 'BBC Good Food',
- url: 'https://www.bbcgoodfood.com/recipes/vegan-cupcakes',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-cupcakes-225c6ad5a2b909c3f2bdca88fcaf8aee/vegan',
- yield: 12,
- dietLabels: ['Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['FODMAP'],
- ingredientLines: [
- '150ml almond or soy milk',
- '½ tsp cider vinegar',
- '110g vegan butter or sunflower spread',
- '110g caster sugar',
- '1 tsp vanilla extract',
- '110g self-raising flour',
- '½ tsp baking powder',
- '125g vegan butter',
- '250g icing sugar',
- '1¼ tsp vanilla extract',
- 'a few drops of vegan food colourings (check the label)',
- ],
- ingredients: [
- {
- text: '150ml almond or soy milk',
- weight: 90.66384836931654,
- foodCategory: 'plant-based protein',
- foodId: 'food_bq4d2wras281i0br37nrnaglo3yc',
- image: 'https://www.edamam.com/food-img/6c2/6c2dc21adf11afc4c8d390ee2f651e56.jpg',
- },
- {
- text: '½ tsp cider vinegar',
- weight: 2.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_ar8m7esapmfvf8bnhfzdlabndh6v',
- image: 'https://www.edamam.com/food-img/c7d/c7dbd1846c5d08e9739930d70a404d50.jpg',
- },
- {
- text: '110g vegan butter or sunflower spread',
- weight: 110,
- foodCategory: 'Oils',
- foodId: 'food_bn7cczea5psahcbaqvd2ob43qksr',
- image: 'https://www.edamam.com/food-img/330/3302cd340e3d2dcf7f02e72fdfe8b209.jpg',
- },
- {
- text: '110g caster sugar',
- weight: 110,
- foodCategory: 'sugars',
- foodId: 'food_b83hz1dbrydiwzag8btahb15lu4l',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '1 tsp vanilla extract',
- weight: 4.2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bh1wvnqaw3q7ciascfoygaabax2a',
- image: 'https://www.edamam.com/food-img/90f/90f910b0bf82750d4f6528263e014cca.jpg',
- },
- {
- text: '110g self-raising flour',
- weight: 110,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '½ tsp baking powder',
- weight: 2.3,
- foodCategory: 'condiments and sauces',
- foodId: 'food_bad4zycbt4w60dbut111vaub2g3e',
- image: 'https://www.edamam.com/food-img/a84/a8410ec57a2e62a1ad9955ac14d40af6.jpg',
- },
- {
- text: '125g vegan butter',
- weight: 125,
- foodCategory: 'Oils',
- foodId: 'food_bn7cczea5psahcbaqvd2ob43qksr',
- image: 'https://www.edamam.com/food-img/330/3302cd340e3d2dcf7f02e72fdfe8b209.jpg',
- },
- {
- text: '250g icing sugar',
- weight: 250,
- foodCategory: 'sugars',
- foodId: 'food_b7rbtshahirxisbtyc77sbv8jdue',
- image: 'https://www.edamam.com/food-img/290/290624aa4c0e279551e462443e38bb40.jpg',
- },
- {
- text: '1¼ tsp vanilla extract',
- weight: 5.25,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bh1wvnqaw3q7ciascfoygaabax2a',
- image: 'https://www.edamam.com/food-img/90f/90f910b0bf82750d4f6528263e014cca.jpg',
- },
- {
- text: 'a few drops of vegan food colourings (check the label)',
- weight: 0.06161152,
- foodCategory: 'water',
- foodId: 'food_avcjo2fattdi8eafpf0ujatvwb7i',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- ],
- calories: 4429.857682058343,
- totalWeight: 809.9754598893167,
- totalTime: 50,
- cuisineType: ['american'],
- mealType: ['snack'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 4429.857682058343,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 281.35212949079977,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 223.81583451500146,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.6175495772553975,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 29.30594579900306,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 11.632623865453038,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 464.65503432358776,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 14.307581046164568,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 359.7513024040653,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 354.305,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 30.546373930110455,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 205.82360294449316,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 436.9241004590615,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 271.14900671235466,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 807.7420085470904,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 5.483678774501645,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 3.8345732302746764,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 783.7741106564126,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.31890038915709895,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.153132094442822,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 4.695380534001872,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.1750664722659637,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 68.49209328249928,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 68.49209328249928,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 32.25664433705583,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 58.375,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 25.292385621566858,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 221.49288410291717,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 432.8494299858458,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 1119.0791725750073,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 154.88501144119593,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 57.23032418465827,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 61.0927478602209,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 8.575983456020548,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 43.69241004590615,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 64.5592873124654,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 17.18600018185299,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 30.464882080564696,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 34.859756638860695,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 111.96773009377324,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 26.575032429758245,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 88.702468803294,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 29.3461283375117,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 13.466651712766438,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 17.12302332062482,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 215.04429558037222,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 48.645833333333336,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 281.35212949079977,
- hasRDI: true,
- daily: 432.8494299858458,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 223.81583451500146,
- hasRDI: true,
- daily: 1119.0791725750073,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.6175495772553975,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 29.30594579900306,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 11.632623865453038,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 464.65503432358776,
- hasRDI: true,
- daily: 154.88501144119593,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 450.3474532774232,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 14.307581046164568,
- hasRDI: true,
- daily: 57.23032418465827,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 359.7513024040653,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 354.305,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 30.546373930110455,
- hasRDI: true,
- daily: 61.0927478602209,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 205.82360294449316,
- hasRDI: true,
- daily: 8.575983456020548,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 436.9241004590615,
- hasRDI: true,
- daily: 43.69241004590615,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 271.14900671235466,
- hasRDI: true,
- daily: 64.5592873124654,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 807.7420085470904,
- hasRDI: true,
- daily: 17.18600018185299,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 5.483678774501645,
- hasRDI: true,
- daily: 30.464882080564696,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 3.8345732302746764,
- hasRDI: true,
- daily: 34.859756638860695,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 783.7741106564126,
- hasRDI: true,
- daily: 111.96773009377324,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.31890038915709895,
- hasRDI: true,
- daily: 26.575032429758245,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.153132094442822,
- hasRDI: true,
- daily: 88.702468803294,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 4.695380534001872,
- hasRDI: true,
- daily: 29.3461283375117,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.1750664722659637,
- hasRDI: true,
- daily: 13.466651712766438,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 68.49209328249928,
- hasRDI: true,
- daily: 17.12302332062482,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 68.49209328249928,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 32.25664433705583,
- hasRDI: true,
- daily: 215.04429558037222,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 58.375,
- hasRDI: true,
- daily: 48.645833333333336,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 25.292385621566858,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/225c6ad5a2b909c3f2bdca88fcaf8aee?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_3fad4068268ff8385e1cb926dbfe02ab',
- label: 'Vegan Chocolate-Coffee Muffins Recipe',
- image: 'https://www.edamam.com/web-img/cd0/cd0f763c1566ec5a0f0ae099ecebc5a7.jpg',
- source: 'Serious Eats',
- url: 'http://www.seriouseats.com/recipes/2014/04/vegan-chocolate-coffee-muffins.html',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-chocolate-coffee-muffins-recipe-3fad4068268ff8385e1cb926dbfe02ab/vegan',
- yield: 12,
- dietLabels: [],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 1/2 cups all purpose flour',
- '1/3 cup unsweetened cocoa powder',
- '1 teaspoon baking soda',
- '1/2 teaspoon salt',
- '1 1/4 cups sugar',
- '1 teaspoon instant espresso powder',
- '1 cup freshly brewed coffee',
- '1 teaspoon vanilla extract',
- '1 teaspoon white vinegar',
- '3/4 cup vegan chocolate chips or vegan chocolate, chopped',
- ],
- ingredients: [
- {
- text: '1 1/2 cups all purpose flour',
- weight: 187.5,
- foodCategory: 'grains',
- foodId: 'food_ar3x97tbq9o9p6b6gzwj0am0c81l',
- image: 'https://www.edamam.com/food-img/368/368077bbcab62f862a8c766a56ea5dd1.jpg',
- },
- {
- text: '1/3 cup unsweetened cocoa powder',
- weight: 28.666666666666664,
- foodCategory: 'chocolate',
- foodId: 'food_afcmkjjaqwjkezbfz7htdb7mpkwz',
- image: 'https://www.edamam.com/food-img/89a/89af89595db3cf2c3007f2b064c5fef6.jpg',
- },
- {
- text: '1 teaspoon baking soda',
- weight: 4.6,
- foodCategory: 'condiments and sauces',
- foodId: 'food_asa4cjoa3lmt8ibwdg0cpblheo69',
- image: 'https://www.edamam.com/food-img/7e5/7e55e4482cc2fde91f427fc568e6f5b8.jpeg',
- },
- {
- text: '1/2 teaspoon salt',
- weight: 3,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1 1/4 cups sugar',
- weight: 250,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '1 teaspoon instant espresso powder',
- weight: 5.000000000253605,
- foodCategory: 'coffee and tea',
- foodId: 'food_bwvztweawd5emqbcu3dqua2ts9ol',
- image: 'https://www.edamam.com/food-img/433/43301ebd4f7c5903aa6bac567a890ac3.jpg',
- },
- {
- text: '1 cup freshly brewed coffee',
- weight: 237,
- foodCategory: 'coffee and tea',
- foodId: 'food_ax0a0yxbbe4hx0apiz1tla01s2w7',
- image: 'https://www.edamam.com/food-img/ee9/ee9566349cb84dfd9ddac1fdf8cbc907.jpg',
- },
- {
- text: '1 teaspoon vanilla extract',
- weight: 4.2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bh1wvnqaw3q7ciascfoygaabax2a',
- image: 'https://www.edamam.com/food-img/90f/90f910b0bf82750d4f6528263e014cca.jpg',
- },
- {
- text: '1 teaspoon white vinegar',
- weight: 5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_am3vwadag9arxtadrwyfcau2w3b2',
- image: 'https://www.edamam.com/food-img/5f6/5f69b84c399d778c4728e9ab4f8065a2.jpg',
- },
- {
- text: '3/4 cup vegan chocolate chips or vegan chocolate, chopped',
- weight: 126,
- foodCategory: 'candy',
- foodId: 'food_bwowd1qbt8nrwzad9zwn7aptem0g',
- image: 'https://www.edamam.com/food-img/1fd/1fdf37e875d26b6b50e57c61bac12c02.jpg',
- },
- ],
- calories: 2411.5760000000228,
- totalWeight: 849.4124624355372,
- totalTime: 35,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2411.5760000000228,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 45.33735333333379,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 39.176465000000235,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 2.1177416666666664,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 1.2793463333335664,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 481.17145000000426,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 20.457166666666666,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 294.01981666666666,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 292.47860000000003,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 35.549336666666974,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1.26,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1971.9295240005895,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 455.0473243178065,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 241.3351246245557,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1568.396663661781,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 14.465111126036764,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 7.793965795768743,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 579.5853333333511,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1.26,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.6400000000005072,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.6539270000000026,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.4600766666671154,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 13.737636666679869,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.2836886666666717,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 586.0483333333359,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 94.79833333333588,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 288.75,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.35280000000000006,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 2.462316666666692,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 11.22316666666692,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 272.6041515917853,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 120.57880000000114,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 69.74977435897506,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 195.88232500000117,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 160.39048333333474,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 81.82866666666666,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 71.09867333333395,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0.42,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 82.16373016669122,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 45.504732431780646,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 57.46074395822755,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 33.3701417800379,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 80.36172847798201,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 70.85423450698858,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 82.7979047619073,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0.14,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.7111111111116747,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 137.82725000000022,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 112.31358974362426,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 85.86022916674918,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 21.822205128205514,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 146.51208333333398,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 14.700000000000005,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 16.415444444444613,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 9.3526388888891,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 45.33735333333379,
- hasRDI: true,
- daily: 69.74977435897506,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 39.176465000000235,
- hasRDI: true,
- daily: 195.88232500000117,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 2.1177416666666664,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 1.2793463333335664,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 481.17145000000426,
- hasRDI: true,
- daily: 160.39048333333474,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 460.71428333333756,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 20.457166666666666,
- hasRDI: true,
- daily: 81.82866666666666,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 294.01981666666666,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 292.47860000000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 35.549336666666974,
- hasRDI: true,
- daily: 71.09867333333395,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1.26,
- hasRDI: true,
- daily: 0.42,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1971.9295240005895,
- hasRDI: true,
- daily: 82.16373016669122,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 455.0473243178065,
- hasRDI: true,
- daily: 45.504732431780646,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 241.3351246245557,
- hasRDI: true,
- daily: 57.46074395822755,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1568.396663661781,
- hasRDI: true,
- daily: 33.3701417800379,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 14.465111126036764,
- hasRDI: true,
- daily: 80.36172847798201,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 7.793965795768743,
- hasRDI: true,
- daily: 70.85423450698858,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 579.5853333333511,
- hasRDI: true,
- daily: 82.7979047619073,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1.26,
- hasRDI: true,
- daily: 0.14,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0.6400000000005072,
- hasRDI: true,
- daily: 0.7111111111116747,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.6539270000000026,
- hasRDI: true,
- daily: 137.82725000000022,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.4600766666671154,
- hasRDI: true,
- daily: 112.31358974362426,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 13.737636666679869,
- hasRDI: true,
- daily: 85.86022916674918,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.2836886666666717,
- hasRDI: true,
- daily: 21.822205128205514,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 586.0483333333359,
- hasRDI: true,
- daily: 146.51208333333398,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 94.79833333333588,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 288.75,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.35280000000000006,
- hasRDI: true,
- daily: 14.700000000000005,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 2.462316666666692,
- hasRDI: true,
- daily: 16.415444444444613,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 11.22316666666692,
- hasRDI: true,
- daily: 9.3526388888891,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 272.6041515917853,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/3fad4068268ff8385e1cb926dbfe02ab?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_775abbeffb09d327379f387448b56701',
- label: 'Baked Vegan Mac and Cheese Recipe',
- image: 'https://www.edamam.com/web-img/28a/28a32a73f93b6b002765a204302d6371.jpg',
- source: 'Chowhound',
- url: 'https://www.chowhound.com/recipes/baked-vegan-mac-and-cheese-32141',
- shareAs:
- 'http://www.edamam.com/recipe/baked-vegan-mac-and-cheese-recipe-775abbeffb09d327379f387448b56701/vegan',
- yield: 14,
- dietLabels: ['Balanced'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Kidney-Friendly',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Tree-Nuts', 'Soy', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '16 ounces elbow macaroni',
- 'Olive oil or vegan butter, for preparing the baking dish',
- '4 tablespoons vegan butter',
- '1/4 cup all-purpose flour',
- '5 cups plain unsweetened nondairy milk',
- '1 teaspoon salt',
- '1/3 cup nutritional yeast, plus more as needed',
- '1 teaspoon dry mustard',
- '1 teaspoon onion powder',
- '1/4 teaspoon ground black pepper',
- '1 cup shredded vegan cheese (optional)',
- '1 cup finely crushed Ritz crackers',
- '1/2 teaspoon paprika',
- '1 tablespoon melted vegan butter',
- ],
- ingredients: [
- {
- text: '16 ounces elbow macaroni',
- weight: 453.59237,
- foodCategory: 'grains',
- foodId: 'food_a8hs60uayl5icia1qe8qoba1kwp8',
- image: 'https://www.edamam.com/food-img/296/296ff2b02ef3822928c3c923e22c7d19.jpg',
- },
- {
- text: 'Olive oil or vegan butter, for preparing the baking dish',
- weight: 29.39640956538557,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '4 tablespoons vegan butter',
- weight: 54.4,
- foodCategory: 'Oils',
- foodId: 'food_bn7cczea5psahcbaqvd2ob43qksr',
- image: 'https://www.edamam.com/food-img/330/3302cd340e3d2dcf7f02e72fdfe8b209.jpg',
- },
- {
- text: '1/4 cup all-purpose flour',
- weight: 31.25,
- foodCategory: 'grains',
- foodId: 'food_ar3x97tbq9o9p6b6gzwj0am0c81l',
- image: 'https://www.edamam.com/food-img/368/368077bbcab62f862a8c766a56ea5dd1.jpg',
- },
- {
- text: '5 cups plain unsweetened nondairy milk',
- weight: 1220,
- foodCategory: 'Milk',
- foodId: 'food_aldsn8sa3rioenar1lwhob4bpdj2',
- image: 'https://www.edamam.com/food-img/694/6944c7790a123419b8500a7db252eb15.jpg',
- },
- {
- text: '1 teaspoon salt',
- weight: 6,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1/3 cup nutritional yeast, plus more as needed',
- weight: 85.33333333333333,
- foodCategory: 'Vegan products',
- foodId: 'food_abjagi2b7qlt18aryyugvbnm0tlu',
- image: null,
- },
- {
- text: '1 teaspoon dry mustard',
- weight: 2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b0xqxo3a93nsz8a6ppdilau4ujwt',
- image: 'https://www.edamam.com/food-img/9ff/9ff9e6d04cbc71ff884f3212afa0adfd.jpg',
- },
- {
- text: '1 teaspoon onion powder',
- weight: 2.4,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bmv8z27b1o25vcbu41ooyawd2zj4',
- image: 'https://www.edamam.com/food-img/1e7/1e73e6f5dd96bb233abc0fcc05fb0ec8.jpg',
- },
- {
- text: '1/4 teaspoon ground black pepper',
- weight: 0.575,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1 cup shredded vegan cheese (optional)',
- weight: 227.20000000384124,
- foodCategory: 'Vegan products',
- foodId: 'food_bo3fs72aqydlwzadxjbykaahvx3v',
- image: 'https://www.edamam.com/food-img/cc3/cc3c4827d251d79eed1ff87c1861aa34.jpg',
- },
- {
- text: '1 cup finely crushed Ritz crackers',
- weight: 64,
- foodCategory: 'crackers',
- foodId: 'food_a7e70joahmaymibybmv10buc9vxy',
- image: 'https://www.edamam.com/food-img/752/7526e07c93cab399169fad9a7c04d7a1.png',
- },
- {
- text: '1/2 teaspoon paprika',
- weight: 1.15,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a9dpcnjb883g67b3lq82ca0421ql',
- image: 'https://www.edamam.com/food-img/474/474d63763b9d8b9da98c5f43a114648c.jpg',
- },
- {
- text: '1 tablespoon melted vegan butter',
- weight: 13.6,
- foodCategory: 'Oils',
- foodId: 'food_bn7cczea5psahcbaqvd2ob43qksr',
- image: 'https://www.edamam.com/food-img/330/3302cd340e3d2dcf7f02e72fdfe8b209.jpg',
- },
- ],
- calories: 4547.458869934279,
- totalWeight: 2189.9572412228085,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['starter'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 4547.458869934279,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 221.28504435334588,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 109.69767459768842,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.8467600000000001,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 29.068294585700965,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 13.155995145365525,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 524.3765085126062,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 47.498864173471624,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 22.942401279000002,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 140.19342921480495,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 5080.934538112646,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 623.0070425925134,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 473.8318073832025,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2585.5490094612733,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 19.66556162702298,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 37.77836671198692,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1997.3670793000003,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 28.519750000000002,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.71395,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 52.31430963299999,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 53.404050422,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 311.5705632066665,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 51.9477179154,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 249.0613766,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 107.0263766,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 1363.325,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 41.55733333333333,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 10.06212137963283,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 69.11110592836211,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1126.9032298866405,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 227.37294349671396,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 340.43852977437825,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 548.488372988442,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 174.79216950420206,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 189.99545669388647,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 280.3868584296099,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 211.70560575469358,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 62.30070425925134,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 112.81709699600059,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 55.01168105236752,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 109.25312015012767,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 343.43969738169926,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 285.33815418571436,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 3.1688611111111116,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.7932777777777777,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 4359.5258027499995,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 4108.003878615385,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 1947.3160200416658,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3995.9783011846152,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 62.265344150000004,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1731.5555555555557,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 67.0808091975522,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 57.59258827363509,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 221.28504435334588,
- hasRDI: true,
- daily: 340.43852977437825,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 109.69767459768842,
- hasRDI: true,
- daily: 548.488372988442,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.8467600000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 29.068294585700965,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 13.155995145365525,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 524.3765085126062,
- hasRDI: true,
- daily: 174.79216950420206,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 476.8776443391345,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 47.498864173471624,
- hasRDI: true,
- daily: 189.99545669388647,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 22.942401279000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 140.19342921480495,
- hasRDI: true,
- daily: 280.3868584296099,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 5080.934538112646,
- hasRDI: true,
- daily: 211.70560575469358,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 623.0070425925134,
- hasRDI: true,
- daily: 62.30070425925134,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 473.8318073832025,
- hasRDI: true,
- daily: 112.81709699600059,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2585.5490094612733,
- hasRDI: true,
- daily: 55.01168105236752,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 19.66556162702298,
- hasRDI: true,
- daily: 109.25312015012767,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 37.77836671198692,
- hasRDI: true,
- daily: 343.43969738169926,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1997.3670793000003,
- hasRDI: true,
- daily: 285.33815418571436,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 28.519750000000002,
- hasRDI: true,
- daily: 3.1688611111111116,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0.71395,
- hasRDI: true,
- daily: 0.7932777777777777,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 52.31430963299999,
- hasRDI: true,
- daily: 4359.5258027499995,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 53.404050422,
- hasRDI: true,
- daily: 4108.003878615385,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 311.5705632066665,
- hasRDI: true,
- daily: 1947.3160200416658,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 51.9477179154,
- hasRDI: true,
- daily: 3995.9783011846152,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 249.0613766,
- hasRDI: true,
- daily: 62.265344150000004,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 107.0263766,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 1363.325,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 41.55733333333333,
- hasRDI: true,
- daily: 1731.5555555555557,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 10.06212137963283,
- hasRDI: true,
- daily: 67.0808091975522,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 69.11110592836211,
- hasRDI: true,
- daily: 57.59258827363509,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1126.9032298866405,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/775abbeffb09d327379f387448b56701?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_2a4929c8467a3abc21672e195b200ee4',
- label: 'Marbled Chocolate Protein Cookies (Vegan)',
- image: 'https://www.edamam.com/web-img/717/71733c4f84613e42b48ab33249bf838f.png',
- source: 'Food52',
- url: 'https://food52.com/recipes/77222-marbled-chocolate-protein-cookies-vegan',
- shareAs:
- 'http://www.edamam.com/recipe/marbled-chocolate-protein-cookies-vegan-2a4929c8467a3abc21672e195b200ee4/vegan',
- yield: 12,
- dietLabels: ['Balanced'],
- healthLabels: [
- 'Vegetarian',
- 'Pescatarian',
- 'Egg-Free',
- 'Peanut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat', 'Soy', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '1/4 cup vegan butter',
- 'scant 1/2 cups granulated sugar',
- '1 tablespoon brown sugar',
- '2 tablespoons ground flaxseed',
- '7 tablespoons water',
- '1 teaspoon vanilla extract',
- '2 cups all-purpose flour',
- '1 1/4 teaspoons baking soda',
- '1 teaspoon cornstarch',
- '1/2 teaspoon salt',
- 'scant 1/2 cups vegan chocolate protein powder',
- '1/4 cup applesauce',
- '1 cup vegan chocolate chips',
- '1/2 cup all-natural chocolate hazelnut spread (not Nutella)',
- ],
- ingredients: [
- {
- text: '1/4 cup vegan butter',
- weight: 54.5,
- foodCategory: 'Oils',
- foodId: 'food_bn7cczea5psahcbaqvd2ob43qksr',
- image: 'https://www.edamam.com/food-img/330/3302cd340e3d2dcf7f02e72fdfe8b209.jpg',
- },
- {
- text: 'scant 1/2 cups granulated sugar',
- weight: 100,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '1 tablespoon brown sugar',
- weight: 9.06249999984678,
- foodCategory: 'sugars',
- foodId: 'food_aodgtqwbmeu5f6bxeffn0art3bga',
- image: 'https://www.edamam.com/food-img/8c6/8c6662bd73900645c6385b51a95d9b03.jpg',
- },
- {
- text: '2 tablespoons ground flaxseed',
- weight: 12.9999999997802,
- foodCategory: 'grains',
- foodId: 'food_auaq2zsa87h332b65eo4ib7dz1qx',
- image: null,
- },
- {
- text: '7 tablespoons water',
- weight: 103.507353467,
- foodCategory: 'water',
- foodId: 'food_a99vzubbk1ayrsad318rvbzr3dh0',
- image: 'https://www.edamam.com/food-img/5dd/5dd9d1361847b2ca53c4b19a8f92627e.jpg',
- },
- {
- text: '1 teaspoon vanilla extract',
- weight: 4.2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bh1wvnqaw3q7ciascfoygaabax2a',
- image: 'https://www.edamam.com/food-img/90f/90f910b0bf82750d4f6528263e014cca.jpg',
- },
- {
- text: '2 cups all-purpose flour',
- weight: 250,
- foodCategory: 'grains',
- foodId: 'food_ar3x97tbq9o9p6b6gzwj0am0c81l',
- image: 'https://www.edamam.com/food-img/368/368077bbcab62f862a8c766a56ea5dd1.jpg',
- },
- {
- text: '1 1/4 teaspoons baking soda',
- weight: 5.75,
- foodCategory: 'condiments and sauces',
- foodId: 'food_asa4cjoa3lmt8ibwdg0cpblheo69',
- image: 'https://www.edamam.com/food-img/7e5/7e55e4482cc2fde91f427fc568e6f5b8.jpeg',
- },
- {
- text: '1 teaspoon cornstarch',
- weight: 2.66666666680192,
- foodCategory: null,
- foodId: 'food_bevnfkfbvjm45pbbgj9nsb3ypntm',
- image: 'https://www.edamam.com/food-img/f9b/f9b74d9495b40c0aea955c37a1fc39dc.jpg',
- },
- {
- text: '1/2 teaspoon salt',
- weight: 3,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'scant 1/2 cups vegan chocolate protein powder',
- weight: 177.441177375,
- foodCategory: 'protein and nutritional powders',
- foodId: 'food_bakks6hadovz21bbgb85oa1iycf3',
- image: 'https://www.edamam.com/food-img/76a/76ab108398f84ad08fe841d3409ab70a.jpg',
- },
- {
- text: '1/4 cup applesauce',
- weight: 61,
- foodCategory: 'canned fruit',
- foodId: 'food_a42ufi8ben9zhqbzqv66lab1lwvd',
- image: 'https://www.edamam.com/food-img/c59/c59e749347516e4aa0aaa3ea25925426.jpg',
- },
- {
- text: '1 cup vegan chocolate chips',
- weight: 168,
- foodCategory: 'candy',
- foodId: 'food_bwowd1qbt8nrwzad9zwn7aptem0g',
- image: 'https://www.edamam.com/food-img/1fd/1fdf37e875d26b6b50e57c61bac12c02.jpg',
- },
- {
- text: '1/2 cup all-natural chocolate hazelnut spread (not Nutella)',
- weight: 148,
- foodCategory: 'chocolate',
- foodId: 'food_aaz5y9abcv9nupabqhgm4a7hozy6',
- image: 'https://www.edamam.com/food-img/375/37567989ef8d6f7392094111de56f62b.jpg',
- },
- ],
- calories: 4317.505268213918,
- totalWeight: 1097.1276975084288,
- totalTime: 30,
- cuisineType: ['american'],
- mealType: ['teatime'],
- dishType: ['biscuits and cookies'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 4317.505268213918,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 168.06378279530736,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 144.7417364806279,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.14006500000000002,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 4.086624911502855,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 9.840160867506103,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 551.3410290602092,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 37.73955888405808,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 292.2528671125764,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 245.89123749985134,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 149.22414648283296,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1.68,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 3132.0696242973986,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 1056.9047246643881,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 328.02705205466026,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3654.860309908551,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 42.59850836832102,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 21.051507192096732,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 2967.702942876678,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 3.77,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 13.771999999999998,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 2.78365259084,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.117933530895,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 21.40050730072858,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.7620411558949373,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 1298.2256276137484,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 643.2256276137485,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 385,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.8700000000000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 12.727450000000001,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 30.2645,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 201.12758090579638,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 215.87526341069588,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 258.5596658389344,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 723.7086824031396,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 183.78034302006972,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 150.9582355362323,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 298.4482929656659,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0.56,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 130.50290101239162,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 105.69047246643882,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 78.10167906063339,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 77.7629853172032,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 236.65837982400566,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 191.3773381099703,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 423.9575632680969,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0.41888888888888887,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 15.30222222222222,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 231.9710492366667,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 162.91796391499997,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 133.75317062955364,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 58.618550453456706,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 324.5564069034371,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 36.25000000000001,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 84.84966666666668,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 25.22041666666667,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 168.06378279530736,
- hasRDI: true,
- daily: 258.5596658389344,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 144.7417364806279,
- hasRDI: true,
- daily: 723.7086824031396,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.14006500000000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 4.086624911502855,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 9.840160867506103,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 551.3410290602092,
- hasRDI: true,
- daily: 183.78034302006972,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 513.6014701761511,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 37.73955888405808,
- hasRDI: true,
- daily: 150.9582355362323,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 292.2528671125764,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 245.89123749985134,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 149.22414648283296,
- hasRDI: true,
- daily: 298.4482929656659,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 1.68,
- hasRDI: true,
- daily: 0.56,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 3132.0696242973986,
- hasRDI: true,
- daily: 130.50290101239162,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 1056.9047246643881,
- hasRDI: true,
- daily: 105.69047246643882,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 328.02705205466026,
- hasRDI: true,
- daily: 78.10167906063339,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3654.860309908551,
- hasRDI: true,
- daily: 77.7629853172032,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 42.59850836832102,
- hasRDI: true,
- daily: 236.65837982400566,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 21.051507192096732,
- hasRDI: true,
- daily: 191.3773381099703,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 2967.702942876678,
- hasRDI: true,
- daily: 423.9575632680969,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 3.77,
- hasRDI: true,
- daily: 0.41888888888888887,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 13.771999999999998,
- hasRDI: true,
- daily: 15.30222222222222,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 2.78365259084,
- hasRDI: true,
- daily: 231.9710492366667,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.117933530895,
- hasRDI: true,
- daily: 162.91796391499997,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 21.40050730072858,
- hasRDI: true,
- daily: 133.75317062955364,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.7620411558949373,
- hasRDI: true,
- daily: 58.618550453456706,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 1298.2256276137484,
- hasRDI: true,
- daily: 324.5564069034371,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 643.2256276137485,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 385,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.8700000000000001,
- hasRDI: true,
- daily: 36.25000000000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 12.727450000000001,
- hasRDI: true,
- daily: 84.84966666666668,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 30.2645,
- hasRDI: true,
- daily: 25.22041666666667,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 201.12758090579638,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/2a4929c8467a3abc21672e195b200ee4?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_0f2552085e2640b870d623d72fb87f6c',
- label: 'Vegan Cucumber Tea Sandwiches',
- image: 'https://www.edamam.com/web-img/266/266b131b87cf6b01417b0515a2a7b41d',
- source: 'Martha Stewart',
- url: 'https://www.marthastewart.com/1526080/vegan-cucumber-tea-sandwiches',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-cucumber-tea-sandwiches-0f2552085e2640b870d623d72fb87f6c/vegan',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Sugar-Conscious',
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Mediterranean',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Tree-Nuts', 'Soy', 'FODMAP'],
- ingredientLines: [
- '1 (8-ounce) container vegan cream cheese, such as Kite Hill',
- '2 tablespoons finely chopped fresh chives, plus more for serving',
- '2 tablespoons finely chopped fresh flat-leaf parsley',
- '1 tablespoon finely chopped fresh tarragon',
- 'Kosher salt and freshly ground pepper',
- '8 slices vegan white or pumpernickel sandwich bread, or a combination',
- '2 mini cucumbers, thinly sliced into rounds',
- ],
- ingredients: [
- {
- text: '1 (8-ounce) container vegan cream cheese, such as Kite Hill',
- weight: 226.796185,
- foodCategory: 'Plant-based protein',
- foodId: 'food_afw1vv1ac3l17wbn9gcq2autcc91',
- image: 'https://www.edamam.com/food-img/fc7/fc77c17a6b7310e939f328b32dc64e81.jpg',
- },
- {
- text: '2 tablespoons finely chopped fresh chives, plus more for serving',
- weight: 6,
- foodCategory: 'vegetables',
- foodId: 'food_btg1uzjak79lawbirsitkaeai60l',
- image: 'https://www.edamam.com/food-img/f3f/f3f48643a924ba174b894e979cb48620.jpg',
- },
- {
- text: '2 tablespoons finely chopped fresh flat-leaf parsley',
- weight: 7.6,
- foodCategory: 'vegetables',
- foodId: 'food_b244pqdazw24zobr5vqu2bf0uid8',
- image: 'https://www.edamam.com/food-img/46a/46a132e96626d7989b4d6ed8c91f4da0.jpg',
- },
- {
- text: '1 tablespoon finely chopped fresh tarragon',
- weight: 2.49999999995773,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bcae9pdaob9i69bo94oxramms336',
- image: 'https://www.edamam.com/food-img/22f/22f8945d157d8b759c30e6738639991b.jpg',
- },
- {
- text: 'Kosher salt and freshly ground pepper',
- weight: 3.8093771099997467,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Kosher salt and freshly ground pepper',
- weight: 1.9046885549998733,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '8 slices vegan white or pumpernickel sandwich bread, or a combination',
- weight: 232,
- foodCategory: 'bread, rolls and tortillas',
- foodId: 'food_a3049hmbqj5wstaeeb3udaz6uaqv',
- image: 'https://www.edamam.com/food-img/886/886960f6ce6ccec5b9163bacf2996853.jpg',
- },
- {
- text: '2 mini cucumbers, thinly sliced into rounds',
- weight: 160,
- foodCategory: 'vegetables',
- foodId: 'food_bv7aggjag9rxsaatklqzobca5fzn',
- image: 'https://www.edamam.com/food-img/501/5015da0e5fc2b384696b3d949aefef86.jpg',
- },
- ],
- calories: 1318.5723053696993,
- totalWeight: 636.8008735549577,
- totalTime: 15,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['sandwiches'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1318.5723053696993,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 73.88378655656737,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 23.902188167910612,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.06031999999999999,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 1.4702856484212488,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 3.665782791777336,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 143.90924623412698,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 25.77969813989571,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 23.886995974493935,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 41.731479076338736,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2066.0476538400058,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 533.4008896530067,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 143.4520174289031,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 806.5173108946718,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 13.030847645773608,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 3.31588579380285,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 402.8024079167675,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 58.8402659097612,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 19.787999999978865,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.0255480636392935,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.6910114393984337,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 13.579328590179864,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.4024326436940309,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 265.90579705423414,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 187.02579705423412,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 46.4,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 0.5782087609719987,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 178.12797516453477,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 246.56778419394973,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 65.92861526848496,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 113.66736393318058,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 119.51094083955306,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 47.969748744708994,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 103.11879255958283,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 83.46295815267747,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 86.08531891000024,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 53.34008896530067,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 34.15524224497693,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 17.159942784993017,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 72.3935980320756,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 30.144416307298638,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 57.543201130966786,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 6.5378073233068,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 21.986666666643185,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 85.4623386366078,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 53.15472610757182,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 84.87080368862415,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 30.956357207233147,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 66.47644926355854,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 3.8547250731466582,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 148.43997930377898,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 73.88378655656737,
- hasRDI: true,
- daily: 113.66736393318058,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 23.902188167910612,
- hasRDI: true,
- daily: 119.51094083955306,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.06031999999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 1.4702856484212488,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 3.665782791777336,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 143.90924623412698,
- hasRDI: true,
- daily: 47.969748744708994,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 118.12954809423127,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 25.77969813989571,
- hasRDI: true,
- daily: 103.11879255958283,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 23.886995974493935,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 41.731479076338736,
- hasRDI: true,
- daily: 83.46295815267747,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2066.0476538400058,
- hasRDI: true,
- daily: 86.08531891000024,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 533.4008896530067,
- hasRDI: true,
- daily: 53.34008896530067,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 143.4520174289031,
- hasRDI: true,
- daily: 34.15524224497693,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 806.5173108946718,
- hasRDI: true,
- daily: 17.159942784993017,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 13.030847645773608,
- hasRDI: true,
- daily: 72.3935980320756,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 3.31588579380285,
- hasRDI: true,
- daily: 30.144416307298638,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 402.8024079167675,
- hasRDI: true,
- daily: 57.543201130966786,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 58.8402659097612,
- hasRDI: true,
- daily: 6.5378073233068,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 19.787999999978865,
- hasRDI: true,
- daily: 21.986666666643185,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.0255480636392935,
- hasRDI: true,
- daily: 85.4623386366078,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.6910114393984337,
- hasRDI: true,
- daily: 53.15472610757182,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 13.579328590179864,
- hasRDI: true,
- daily: 84.87080368862415,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.4024326436940309,
- hasRDI: true,
- daily: 30.956357207233147,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 265.90579705423414,
- hasRDI: true,
- daily: 66.47644926355854,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 187.02579705423412,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 46.4,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 0.5782087609719987,
- hasRDI: true,
- daily: 3.8547250731466582,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 178.12797516453477,
- hasRDI: true,
- daily: 148.43997930377898,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 246.56778419394973,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/0f2552085e2640b870d623d72fb87f6c?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_fb2c2aff0392eb951d3b220b16f5a54a',
- label: 'Classic American Fare, Now In Vegan! recipes',
- image: 'https://www.edamam.com/web-img/bee/beea3f58e66dbe7ab6e6923fdb4ba670',
- source: 'Food Republic',
- url: 'http://www.foodrepublic.com/recipes/classic-american-fare-now-in-vegan/',
- shareAs:
- 'http://www.edamam.com/recipe/classic-american-fare-now-in-vegan-recipes-fb2c2aff0392eb951d3b220b16f5a54a/vegan',
- yield: 4,
- dietLabels: ['High-Fiber', 'Low-Carb'],
- healthLabels: [
- 'Vegetarian',
- 'Pescatarian',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '1/4 cup vegan butter',
- '1 cup onion, diced finely',
- '1/2 tablespoon garlic, minced',
- '16 ounces broccoli, fresh or frozen, chopped',
- '1 quart water or vegetable stock',
- '1/4 teaspoon white pepper',
- '1 tablespoon cornstarch, mixed with 1/2 cup water',
- '1/4 cup nutritional yeast',
- '1 1/2 cups unsweetened unflavored soy or almond milk',
- '8 ounces vegan cheddar cheese',
- ],
- ingredients: [
- {
- text: '1/4 cup vegan butter',
- weight: 54.5,
- foodCategory: 'Oils',
- foodId: 'food_bn7cczea5psahcbaqvd2ob43qksr',
- image: 'https://www.edamam.com/food-img/330/3302cd340e3d2dcf7f02e72fdfe8b209.jpg',
- },
- {
- text: '1 cup onion, diced finely',
- weight: 160,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '1/2 tablespoon garlic, minced',
- weight: 4.2499999999281455,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '16 ounces broccoli, fresh or frozen, chopped',
- weight: 453.59237,
- foodCategory: 'vegetables',
- foodId: 'food_aahw0jha9f8337ajbopx9aec6z7i',
- image: 'https://www.edamam.com/food-img/3e4/3e47317a3dd54dc911b9c44122285df1.jpg',
- },
- {
- text: '1 quart water or vegetable stock',
- weight: 908,
- foodCategory: 'Vegan products',
- foodId: 'food_bb2qjrjamst0vmam39stubtkmrs4',
- image: 'https://www.edamam.com/food-img/e61/e6184a8681b772e5198ef0ca1919e1b7.jpg',
- },
- {
- text: '1/4 teaspoon white pepper',
- weight: 0.6,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a443px0bncpqa5avv80p3anrp26k',
- image: 'https://www.edamam.com/food-img/4f0/4f0e35fe6c042996408b337fb550324a.jpg',
- },
- {
- text: '1 tablespoon cornstarch, mixed with 1/2 cup water',
- weight: 7.999999999864745,
- foodCategory: null,
- foodId: 'food_bevnfkfbvjm45pbbgj9nsb3ypntm',
- image: 'https://www.edamam.com/food-img/f9b/f9b74d9495b40c0aea955c37a1fc39dc.jpg',
- },
- {
- text: '1/4 cup nutritional yeast',
- weight: 64,
- foodCategory: 'Vegan products',
- foodId: 'food_abjagi2b7qlt18aryyugvbnm0tlu',
- image: null,
- },
- {
- text: '1 1/2 cups unsweetened unflavored soy or almond milk',
- weight: 360,
- foodCategory: 'Vegan products',
- foodId: 'food_aa8o4pkbhgkey4btmg1daaclqmww',
- image: 'https://www.edamam.com/food-img/b26/b267bf598feaabd7349fddda7a481f00.jpg',
- },
- {
- text: '8 ounces vegan cheddar cheese',
- weight: 226.796185,
- foodCategory: 'Cheese',
- foodId: 'food_bhppgmha1u27voagb8eptbp9g376',
- image: 'https://www.edamam.com/food-img/bcd/bcd94dde1fcde1475b5bf0540f821c5d.jpg',
- },
- ],
- calories: 1901.9693739764975,
- totalWeight: 2239.738554999793,
- totalTime: 30,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1901.9693739764975,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 139.3007603446796,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 96.55440278517993,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 2.8189600211500005,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 30.003606335539974,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 7.5957624323297885,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 82.5420217955128,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 33.30345605071727,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 19.498202902119285,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 103.82611551051508,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 231.33210870000002,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2040.583967079976,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 2535.3955413187873,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 307.35320357641797,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2143.3565484383084,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 8.632664609958143,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 22.446218406419085,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1593.3419118684324,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 768.6046964057601,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 420.4114421562176,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 39.089834832649856,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 40.53235108571992,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 227.6165479078895,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 39.62673228994911,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 394.9976509208379,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 394.9976509208379,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 960,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 33.164361216,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.3641003900000002,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 16.013970327959942,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 495.53018455115887,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1881.7480144597466,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 95.09846869882487,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 214.30886206873782,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 482.77201392589967,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 27.51400726517093,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 133.2138242028691,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 207.65223102103016,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 77.1107029,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 85.02433196166567,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 253.53955413187873,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 73.17933418486142,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 45.60333081783635,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 47.9592478331008,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 204.0565309674462,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 227.62027312406175,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 85.40052182286225,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 467.12382461801957,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 3257.486236054155,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 3117.873160439993,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 1422.6034244243094,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3048.210176149931,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 98.74941273020949,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1381.8483840000001,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 9.094002600000001,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 106.75980218639961,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 412.9418204592991,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 139.3007603446796,
- hasRDI: true,
- daily: 214.30886206873782,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 96.55440278517993,
- hasRDI: true,
- daily: 482.77201392589967,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 2.8189600211500005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 30.003606335539974,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 7.5957624323297885,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 82.5420217955128,
- hasRDI: true,
- daily: 27.51400726517093,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 49.23856574479552,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 33.30345605071727,
- hasRDI: true,
- daily: 133.2138242028691,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 19.498202902119285,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 103.82611551051508,
- hasRDI: true,
- daily: 207.65223102103016,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 231.33210870000002,
- hasRDI: true,
- daily: 77.1107029,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2040.583967079976,
- hasRDI: true,
- daily: 85.02433196166567,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 2535.3955413187873,
- hasRDI: true,
- daily: 253.53955413187873,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 307.35320357641797,
- hasRDI: true,
- daily: 73.17933418486142,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2143.3565484383084,
- hasRDI: true,
- daily: 45.60333081783635,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 8.632664609958143,
- hasRDI: true,
- daily: 47.9592478331008,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 22.446218406419085,
- hasRDI: true,
- daily: 204.0565309674462,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1593.3419118684324,
- hasRDI: true,
- daily: 227.62027312406175,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 768.6046964057601,
- hasRDI: true,
- daily: 85.40052182286225,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 420.4114421562176,
- hasRDI: true,
- daily: 467.12382461801957,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 39.089834832649856,
- hasRDI: true,
- daily: 3257.486236054155,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 40.53235108571992,
- hasRDI: true,
- daily: 3117.873160439993,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 227.6165479078895,
- hasRDI: true,
- daily: 1422.6034244243094,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 39.62673228994911,
- hasRDI: true,
- daily: 3048.210176149931,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 394.9976509208379,
- hasRDI: true,
- daily: 98.74941273020949,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 394.9976509208379,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 960,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 33.164361216,
- hasRDI: true,
- daily: 1381.8483840000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.3641003900000002,
- hasRDI: true,
- daily: 9.094002600000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 16.013970327959942,
- hasRDI: true,
- daily: 106.75980218639961,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 495.53018455115887,
- hasRDI: true,
- daily: 412.9418204592991,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1881.7480144597466,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/fb2c2aff0392eb951d3b220b16f5a54a?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_c6aff06888db5a3c4b6d47878d03eee2',
- label: 'Vegan Nachos',
- image: 'https://www.edamam.com/web-img/ed3/ed32750be9cc9b518e464a812c533f59.jpg',
- source: 'Honest Cooking',
- url: 'http://honestcooking.com/dairy-free-vegan-nachos-recipe/',
- shareAs: 'http://www.edamam.com/recipe/vegan-nachos-c6aff06888db5a3c4b6d47878d03eee2/vegan',
- yield: 4,
- dietLabels: ['High-Fiber'],
- healthLabels: [
- 'Vegetarian',
- 'Pescatarian',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '1 bag corn tortilla chips',
- '1½ cups go veggie! vegan mexican cheese shreds',
- '1 cup fresh salsa',
- '½ cup packed baby spinach',
- '1 extra ripe avocado, peeled, pitted and mashed',
- '½ tsp. sea salt',
- '½ tsp. freshly ground pepper',
- '½ tsp. crushed red pepper flakes',
- '1 tbsp. sesame seeds',
- '½ cup finely chopped cilantro, for topping',
- ],
- ingredients: [
- {
- text: '1 bag corn tortilla chips',
- weight: 335,
- foodCategory: 'savory snacks',
- foodId: 'food_bkxl9s9bpcxmenbef89qbbofifnr',
- image: 'https://www.edamam.com/food-img/24e/24eea039cad825c1745263674e9879df.jpg',
- },
- {
- text: '1½ cups go veggie! vegan mexican cheese shreds',
- weight: 169.5,
- foodCategory: 'Cheese',
- foodId: 'food_bhppgmha1u27voagb8eptbp9g376',
- image: 'https://www.edamam.com/food-img/bcd/bcd94dde1fcde1475b5bf0540f821c5d.jpg',
- },
- {
- text: '1 cup fresh salsa',
- weight: 260,
- foodCategory: 'canned soup',
- foodId: 'food_b0t3obfawlm5k2b6erxscacez35u',
- image: 'https://www.edamam.com/food-img/995/995d0f166754a0475c181b9c156fec43.jpg',
- },
- {
- text: '½ cup packed baby spinach',
- weight: 4.999999999999995,
- foodCategory: 'vegetables',
- foodId: 'food_aoceuc6bshdej1bbsdammbnj6l6o',
- image: 'https://www.edamam.com/food-img/e6e/e6e4be375c4554ce01c8ea75232efaa6.jpg',
- },
- {
- text: '1 extra ripe avocado, peeled, pitted and mashed',
- weight: 201,
- foodCategory: 'fruit',
- foodId: 'food_b0yuze4b1g3afpanijno5abtiu28',
- image: 'https://www.edamam.com/food-img/984/984a707ea8e9c6bf5f6498970a9e6d9d.jpg',
- },
- {
- text: '½ tsp. sea salt',
- weight: 2.4270833334564377,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '½ tsp. freshly ground pepper',
- weight: 1.45,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '½ tsp. crushed red pepper flakes',
- weight: 0.38541666668621544,
- foodCategory: 'vegetables',
- foodId: 'food_bispmxiaijcuxcagex14mbhk2o48',
- image: 'https://www.edamam.com/food-img/6cb/6cb8e4510251a322178f6e191b3a7b1b.jpeg',
- },
- {
- text: '1 tbsp. sesame seeds',
- weight: 9,
- foodCategory: 'plant-based protein',
- foodId: 'food_bvxfnx8bwz2q3abs04kd6bbuf9w8',
- image: 'https://www.edamam.com/food-img/291/291b355a7a0948716243164427697279.jpg',
- },
- {
- text: '½ cup finely chopped cilantro, for topping',
- weight: 8,
- foodCategory: 'vegetables',
- foodId: 'food_alhzhuwb4lc7jnb5s6f02by60bzp',
- image: 'https://www.edamam.com/food-img/d57/d57e375b6ff99a90c7ee2b1990a1af36.jpg',
- },
- ],
- calories: 2809.568250000064,
- totalWeight: 989.3354166666862,
- totalTime: 15,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['condiments and sauces'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 2809.568250000064,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 166.64006270833448,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 47.13333743750016,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 2.2195050000000003,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 64.5261792500001,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 39.125102979167266,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 266.376777083347,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 35.76546458333894,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 16.38383208334136,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 73.04933208333539,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 172.89000000000001,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 3986.4107291666837,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 1699.301937500009,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 464.8936666666838,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2672.947791667032,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 8.589374166667849,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 13.2704362500002,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1844.358812500031,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 604.9594166669254,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 28.726020833339472,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.7892631875000159,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.276074270833569,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 12.071440270835028,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.8340363750001583,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 314.81306250001006,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 314.81306250001006,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1.4916,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.017,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 18.95548208333395,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 111.79117083335446,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 461.02092729166816,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 140.4784125000032,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 256.3693272435915,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 235.6666871875008,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 88.79225902778234,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 143.06185833335576,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 146.09866416667077,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 57.63,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 166.1004470486118,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 169.9301937500009,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 110.68896825397235,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 56.871229609936854,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 47.718745370376936,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 120.64032954545637,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 263.47983035714725,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 67.21771296299171,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 31.917800925932745,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 65.771932291668,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 98.15955929488993,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 75.44650169271893,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 141.07972115385832,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 78.70326562500252,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 62.15,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 6.779999999999999,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 126.36988055555967,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 93.15930902779539,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 166.64006270833448,
- hasRDI: true,
- daily: 256.3693272435915,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 47.13333743750016,
- hasRDI: true,
- daily: 235.6666871875008,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 2.2195050000000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 64.5261792500001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 39.125102979167266,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 266.376777083347,
- hasRDI: true,
- daily: 88.79225902778234,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 230.61131250000807,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 35.76546458333894,
- hasRDI: true,
- daily: 143.06185833335576,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 16.38383208334136,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 73.04933208333539,
- hasRDI: true,
- daily: 146.09866416667077,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 172.89000000000001,
- hasRDI: true,
- daily: 57.63,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 3986.4107291666837,
- hasRDI: true,
- daily: 166.1004470486118,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 1699.301937500009,
- hasRDI: true,
- daily: 169.9301937500009,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 464.8936666666838,
- hasRDI: true,
- daily: 110.68896825397235,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2672.947791667032,
- hasRDI: true,
- daily: 56.871229609936854,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 8.589374166667849,
- hasRDI: true,
- daily: 47.718745370376936,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 13.2704362500002,
- hasRDI: true,
- daily: 120.64032954545637,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1844.358812500031,
- hasRDI: true,
- daily: 263.47983035714725,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 604.9594166669254,
- hasRDI: true,
- daily: 67.21771296299171,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 28.726020833339472,
- hasRDI: true,
- daily: 31.917800925932745,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.7892631875000159,
- hasRDI: true,
- daily: 65.771932291668,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.276074270833569,
- hasRDI: true,
- daily: 98.15955929488993,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 12.071440270835028,
- hasRDI: true,
- daily: 75.44650169271893,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.8340363750001583,
- hasRDI: true,
- daily: 141.07972115385832,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 314.81306250001006,
- hasRDI: true,
- daily: 78.70326562500252,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 314.81306250001006,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 1.4916,
- hasRDI: true,
- daily: 62.15,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.017,
- hasRDI: true,
- daily: 6.779999999999999,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 18.95548208333395,
- hasRDI: true,
- daily: 126.36988055555967,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 111.79117083335446,
- hasRDI: true,
- daily: 93.15930902779539,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 461.02092729166816,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/c6aff06888db5a3c4b6d47878d03eee2?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_9559557a0cc426dfd7d7aca79a0bce98',
- label: 'The Best Vegan Breakfast Sandwich',
- image: 'https://www.edamam.com/web-img/a73/a73159b4affa3460299feea42c4430be.jpg',
- source: 'Epicurious',
- url: 'https://www.epicurious.com/recipes/food/views/the-best-vegan-tofu-breakfast-sandwich',
- shareAs:
- 'http://www.edamam.com/recipe/the-best-vegan-breakfast-sandwich-9559557a0cc426dfd7d7aca79a0bce98/vegan',
- yield: 12,
- dietLabels: [],
- healthLabels: [
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- ],
- cautions: ['Gluten', 'Wheat', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '1 (16 oz/450 g) brick medium-firm tofu',
- '3/4 cup unsweetened nondairy milk',
- '1/3 cup nutritional yeast',
- '1/4 cup tapioca flour',
- '1 teaspoon ground turmeric',
- '1 teaspoon garlic powder',
- '1 teaspoon onion powder',
- '1 teaspoon sea salt',
- '1/2 teaspoon ground pepper',
- '2 tablespoons finely chopped chives',
- '3 tablespoons vegan butter, for frying',
- '5 English muffins, split in half',
- '5 tablespoons vegan butter',
- '5 vegan cheddar cheese slices',
- 'Cassava Bacon',
- '2 vine tomatoes, sliced thick',
- ],
- ingredients: [
- {
- text: '1 (16 oz/450 g) brick medium-firm tofu',
- weight: 453.59237,
- foodCategory: 'plant-based protein',
- foodId: 'food_a269ixea1yf51xbfwgnq2boiwc7x',
- image: 'https://www.edamam.com/food-img/b6a/b6ae13c3cfe37e16f820840f90231bff.jpg',
- },
- {
- text: '3/4 cup unsweetened nondairy milk',
- weight: 183,
- foodCategory: 'Milk',
- foodId: 'food_aldsn8sa3rioenar1lwhob4bpdj2',
- image: 'https://www.edamam.com/food-img/694/6944c7790a123419b8500a7db252eb15.jpg',
- },
- {
- text: '1/3 cup nutritional yeast',
- weight: 85.33333333333333,
- foodCategory: 'Vegan products',
- foodId: 'food_abjagi2b7qlt18aryyugvbnm0tlu',
- image: null,
- },
- {
- text: '1/4 cup tapioca flour',
- weight: 30,
- foodCategory: 'grains',
- foodId: 'food_a2j0fzta3x3yg9azedc0xb5wccng',
- image: 'https://www.edamam.com/food-img/a30/a3063ea98ee3270b27743406d5536880.jpg',
- },
- {
- text: '1 teaspoon ground turmeric',
- weight: 3,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bc3ig84amucgmwba3vixyatnyd9b',
- image: 'https://www.edamam.com/food-img/03e/03eb469286b3caf1ae9c13e4eba13587.jpg',
- },
- {
- text: '1 teaspoon garlic powder',
- weight: 3.1,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_boq94r1a036492bdup9u1beyph0l',
- image: 'https://www.edamam.com/food-img/5c3/5c3db1d5a1a16b1f0a74796f74dd5985.jpg',
- },
- {
- text: '1 teaspoon onion powder',
- weight: 2.4,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bmv8z27b1o25vcbu41ooyawd2zj4',
- image: 'https://www.edamam.com/food-img/1e7/1e73e6f5dd96bb233abc0fcc05fb0ec8.jpg',
- },
- {
- text: '1 teaspoon sea salt',
- weight: 4.854166666912875,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1/2 teaspoon ground pepper',
- weight: 1.45,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '2 tablespoons finely chopped chives',
- weight: 6,
- foodCategory: 'vegetables',
- foodId: 'food_btg1uzjak79lawbirsitkaeai60l',
- image: 'https://www.edamam.com/food-img/f3f/f3f48643a924ba174b894e979cb48620.jpg',
- },
- {
- text: '3 tablespoons vegan butter, for frying',
- weight: 40.8,
- foodCategory: 'Oils',
- foodId: 'food_bn7cczea5psahcbaqvd2ob43qksr',
- image: 'https://www.edamam.com/food-img/330/3302cd340e3d2dcf7f02e72fdfe8b209.jpg',
- },
- {
- text: '5 English muffins, split in half',
- weight: 285,
- foodCategory: 'bread, rolls and tortillas',
- foodId: 'food_a2cnfomb05l36abpxyronby1slmi',
- image: 'https://www.edamam.com/food-img/27b/27be1e4962864c7ac5ef87013879a352.jpg',
- },
- {
- text: '5 tablespoons vegan butter',
- weight: 68,
- foodCategory: 'Oils',
- foodId: 'food_bn7cczea5psahcbaqvd2ob43qksr',
- image: 'https://www.edamam.com/food-img/330/3302cd340e3d2dcf7f02e72fdfe8b209.jpg',
- },
- {
- text: '5 vegan cheddar cheese slices',
- weight: 140,
- foodCategory: 'Cheese',
- foodId: 'food_bhppgmha1u27voagb8eptbp9g376',
- image: 'https://www.edamam.com/food-img/bcd/bcd94dde1fcde1475b5bf0540f821c5d.jpg',
- },
- {
- text: 'Cassava Bacon',
- weight: 0,
- foodCategory: 'vegetables',
- foodId: 'food_b3imt6vbxvc1xeaot5kwgbqn8uyt',
- image: 'https://www.edamam.com/food-img/a3e/a3e1d2a45a123ff2393a75a20dc75d2b.jpg',
- },
- {
- text: 'Cassava Bacon',
- weight: 0,
- foodCategory: 'cured meats',
- foodId: 'food_av0awb0bgs18qub01sd9kbx44b61',
- image: 'https://www.edamam.com/food-img/d42/d426884a125fa39a70d5a5d7217864ec.jpg',
- },
- {
- text: '2 vine tomatoes, sliced thick',
- weight: 246,
- foodCategory: 'vegetables',
- foodId: 'food_a6k79rrahp8fe2b26zussa3wtkqh',
- image: 'https://www.edamam.com/food-img/23e/23e727a14f1035bdc2733bb0477efbd2.jpg',
- },
- ],
- calories: 3008.1978256666666,
- totalWeight: 1551.4016295339998,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['breakfast'],
- dishType: ['sandwiches'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3008.1978256666666,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 190.291261829,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 139.5179891531,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 1.9318960000000003,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 18.874496956200005,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 12.805496117799999,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 216.81922938633335,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 43.31931466333333,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 19.60038422,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 145.0343267696667,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 142.8,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 3599.0888945876004,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 2479.64138598816,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 493.49493616200664,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2260.896281696054,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 23.585277713462204,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 30.703094263867335,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1745.7597677,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 484.99150000000003,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 38.71498474,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 52.883724421999986,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 53.66564419309999,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 310.33350846036655,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 52.119616082700006,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 400.4720503,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 280.7720503,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 1351.25,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 42.78933333333333,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.8400000000000001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 8.081369237,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 79.18226688,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 958.1066501674012,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 150.40989128333334,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 292.75578742923074,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 697.5899457654999,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 72.27307646211112,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 173.27725865333335,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 290.0686535393334,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 47.60000000000001,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 149.96203727448335,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 247.964138598816,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 117.49879432428729,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 48.10417620629902,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 131.02932063034558,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 279.1190387624303,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 249.39425252857143,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 53.88794444444444,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 43.016649711111114,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 4406.977035166666,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 4128.126476392307,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 1939.5844278772909,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 4009.201237130769,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 100.118012575,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 1782.888888888889,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 5.6000000000000005,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 53.87579491333334,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 65.9852224,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 190.291261829,
- hasRDI: true,
- daily: 292.75578742923074,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 139.5179891531,
- hasRDI: true,
- daily: 697.5899457654999,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 1.9318960000000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 18.874496956200005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 12.805496117799999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 216.81922938633335,
- hasRDI: true,
- daily: 72.27307646211112,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 173.49991472300002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 43.31931466333333,
- hasRDI: true,
- daily: 173.27725865333335,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 19.60038422,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 145.0343267696667,
- hasRDI: true,
- daily: 290.0686535393334,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 142.8,
- hasRDI: true,
- daily: 47.60000000000001,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 3599.0888945876004,
- hasRDI: true,
- daily: 149.96203727448335,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 2479.64138598816,
- hasRDI: true,
- daily: 247.964138598816,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 493.49493616200664,
- hasRDI: true,
- daily: 117.49879432428729,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2260.896281696054,
- hasRDI: true,
- daily: 48.10417620629902,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 23.585277713462204,
- hasRDI: true,
- daily: 131.02932063034558,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 30.703094263867335,
- hasRDI: true,
- daily: 279.1190387624303,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1745.7597677,
- hasRDI: true,
- daily: 249.39425252857143,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 484.99150000000003,
- hasRDI: true,
- daily: 53.88794444444444,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 38.71498474,
- hasRDI: true,
- daily: 43.016649711111114,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 52.883724421999986,
- hasRDI: true,
- daily: 4406.977035166666,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 53.66564419309999,
- hasRDI: true,
- daily: 4128.126476392307,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 310.33350846036655,
- hasRDI: true,
- daily: 1939.5844278772909,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 52.119616082700006,
- hasRDI: true,
- daily: 4009.201237130769,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 400.4720503,
- hasRDI: true,
- daily: 100.118012575,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 280.7720503,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 1351.25,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 42.78933333333333,
- hasRDI: true,
- daily: 1782.888888888889,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.8400000000000001,
- hasRDI: true,
- daily: 5.6000000000000005,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 8.081369237,
- hasRDI: true,
- daily: 53.87579491333334,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 79.18226688,
- hasRDI: true,
- daily: 65.9852224,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 958.1066501674012,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/9559557a0cc426dfd7d7aca79a0bce98?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_c88419507e9b9f4e963b4b0df3e4c1e1',
- label: '{Vegan} Peanut Butter & Honey Muffins recipes',
- image: 'https://www.edamam.com/web-img/389/389330863fe0a761d97a1b138e00bb0d',
- source: 'Pinch of Yum',
- url: 'http://pinchofyum.com/peanut-butter-honey-muffins',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-peanut-butter-honey-muffins-recipes-c88419507e9b9f4e963b4b0df3e4c1e1/vegan',
- yield: 6,
- dietLabels: ['Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegetarian',
- 'Pescatarian',
- 'Egg-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites'],
- ingredientLines: [
- '1 cup flour',
- '1½ teaspoons baking powder',
- 'pinch of salt',
- '3 tablespoons peanut butter (crunchy or smooth)',
- '2 tablespoons oil',
- '3 tablespoons honey (agave nectar if vegan)',
- '¾ cup milk (almond, soy, etc. if vegan)',
- ],
- ingredients: [
- {
- text: '1 cup flour',
- weight: 125,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '1½ teaspoons baking powder',
- weight: 6.8999999999999995,
- foodCategory: 'condiments and sauces',
- foodId: 'food_bad4zycbt4w60dbut111vaub2g3e',
- image: 'https://www.edamam.com/food-img/a84/a8410ec57a2e62a1ad9955ac14d40af6.jpg',
- },
- {
- text: 'pinch of salt',
- weight: 0.380208333815447,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '3 tablespoons peanut butter (crunchy or smooth)',
- weight: 48,
- foodCategory: 'plant-based protein',
- foodId: 'food_bz6b8fsbccyn3zaij72f7av8dl9m',
- image: 'https://www.edamam.com/food-img/d74/d740276ae1409472a8714b2cee88a310.jpg',
- },
- {
- text: '2 tablespoons oil',
- weight: 28,
- foodCategory: 'Oils',
- foodId: 'food_bk9p9aaavhvoq4bqsnprobpsiuxs',
- image: 'https://www.edamam.com/food-img/07e/07e106ab3536d57428e5c46d009038f8.jpg',
- },
- {
- text: '3 tablespoons honey (agave nectar if vegan)',
- weight: 63,
- foodCategory: null,
- foodId: 'food_bn6aoj9atkqx8fbkli859bbbxx62',
- image: 'https://www.edamam.com/food-img/198/198c7b25c23b4235b4cc33818c7b335f.jpg',
- },
- {
- text: '¾ cup milk (almond, soy, etc. if vegan)',
- weight: 183,
- foodCategory: 'Milk',
- foodId: 'food_b49rs1kaw0jktabzkg2vvanvvsis',
- image: 'https://www.edamam.com/food-img/7c9/7c9962acf83654a8d98ea6a2ade93735.jpg',
- },
- ],
- calories: 1296.229,
- totalWeight: 454.2802083338155,
- totalTime: 25,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1296.229,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 59.825300000000006,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 10.6249,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.1466,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 31.76367,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 14.76966,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 168.4552,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 5.9148000000000005,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 66.3498,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 51.735600000000005,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 29.533699999999996,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 18.3,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 783.8481460201908,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 761.0472500001156,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 130.39480208333816,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 676.2854166667053,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 3.396084687501591,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 2.8972602083338153,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1136.3819999999998,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 84.18,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.315,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.30618,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.47537000000000007,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 8.09536,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.34768000000000004,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 84.67,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 84.67,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.8235,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 2.379,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 9.459900000000001,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 21.032,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 187.8180604166676,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 64.81145000000001,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 92.03892307692308,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 53.1245,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 56.15173333333333,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 23.659200000000002,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 59.06739999999999,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 6.1,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 32.66033941750795,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 76.10472500001156,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 31.046381448413847,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 14.389051418440538,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 18.867137152786615,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 26.338729166671047,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 162.3402857142857,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 9.353333333333333,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.35,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 25.515000000000004,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 36.56692307692308,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 50.596,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 26.74461538461539,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 21.1675,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 34.3125,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 15.860000000000001,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 63.06600000000001,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 17.526666666666664,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 59.825300000000006,
- hasRDI: true,
- daily: 92.03892307692308,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 10.6249,
- hasRDI: true,
- daily: 53.1245,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.1466,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 31.76367,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 14.76966,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 168.4552,
- hasRDI: true,
- daily: 56.15173333333333,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 162.54039999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 5.9148000000000005,
- hasRDI: true,
- daily: 23.659200000000002,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 66.3498,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 51.735600000000005,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 29.533699999999996,
- hasRDI: true,
- daily: 59.06739999999999,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 18.3,
- hasRDI: true,
- daily: 6.1,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 783.8481460201908,
- hasRDI: true,
- daily: 32.66033941750795,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 761.0472500001156,
- hasRDI: true,
- daily: 76.10472500001156,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 130.39480208333816,
- hasRDI: true,
- daily: 31.046381448413847,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 676.2854166667053,
- hasRDI: true,
- daily: 14.389051418440538,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 3.396084687501591,
- hasRDI: true,
- daily: 18.867137152786615,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 2.8972602083338153,
- hasRDI: true,
- daily: 26.338729166671047,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1136.3819999999998,
- hasRDI: true,
- daily: 162.3402857142857,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 84.18,
- hasRDI: true,
- daily: 9.353333333333333,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0.315,
- hasRDI: true,
- daily: 0.35,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.30618,
- hasRDI: true,
- daily: 25.515000000000004,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.47537000000000007,
- hasRDI: true,
- daily: 36.56692307692308,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 8.09536,
- hasRDI: true,
- daily: 50.596,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.34768000000000004,
- hasRDI: true,
- daily: 26.74461538461539,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 84.67,
- hasRDI: true,
- daily: 21.1675,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 84.67,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.8235,
- hasRDI: true,
- daily: 34.3125,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 2.379,
- hasRDI: true,
- daily: 15.860000000000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 9.459900000000001,
- hasRDI: true,
- daily: 63.06600000000001,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 21.032,
- hasRDI: true,
- daily: 17.526666666666664,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 187.8180604166676,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/c88419507e9b9f4e963b4b0df3e4c1e1?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_32d874b63d84dd76081f024ae98caa14',
- label: 'Vegan Pots de Crème',
- image: 'https://www.edamam.com/web-img/77d/77da20635b276eda8615dfd197efdccf.jpg',
- source: 'PBS Food',
- url: 'http://www.pbs.org/food/recipes/pots-de-creme/',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-pots-de-cr%C3%A8me-32d874b63d84dd76081f024ae98caa14/vegan',
- yield: 6,
- dietLabels: ['Low-Sodium'],
- healthLabels: [
- 'Vegetarian',
- 'Pescatarian',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat', 'Sulfites'],
- ingredientLines: [
- '3⁄4 cup vanilla nondairy milk',
- '12 ounces soft regular or silken tofu, drained and cubed',
- '2 teaspoons brown sugar',
- '1 cup vegan dark chocolate chips',
- ],
- ingredients: [
- {
- text: '3⁄4 cup vanilla nondairy milk',
- weight: 183,
- foodCategory: 'Milk',
- foodId: 'food_aldsn8sa3rioenar1lwhob4bpdj2',
- image: 'https://www.edamam.com/food-img/694/6944c7790a123419b8500a7db252eb15.jpg',
- },
- {
- text: '12 ounces soft regular or silken tofu, drained and cubed',
- weight: 340.1942775,
- foodCategory: 'plant-based protein',
- foodId: 'food_a269ixea1yf51xbfwgnq2boiwc7x',
- image: 'https://www.edamam.com/food-img/b6a/b6ae13c3cfe37e16f820840f90231bff.jpg',
- },
- {
- text: '2 teaspoons brown sugar',
- weight: 6,
- foodCategory: 'sugars',
- foodId: 'food_aodgtqwbmeu5f6bxeffn0art3bga',
- image: 'https://www.edamam.com/food-img/8c6/8c6662bd73900645c6385b51a95d9b03.jpg',
- },
- {
- text: '1 cup vegan dark chocolate chips',
- weight: 182,
- foodCategory: 'chocolate',
- foodId: 'food_afwurvlasugs4ibig02xbblph5bn',
- image: 'https://www.edamam.com/food-img/3cf/3cf0e13350f43392dc13c07d27ad145d.jpg',
- },
- ],
- calories: 1460.9259942500003,
- totalWeight: 711.1942775,
- totalTime: 172,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1460.9259942500003,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 98.01300137175001,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 53.063566614825,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.0546,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 27.75428184215,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 8.40546533835,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 106.44548328975,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 22.899748497500003,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 51.524165665,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 49.483,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 45.24941132725,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 5.46,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 221.64331330000002,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 882.0204977750001,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 552.3518826750001,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 2021.3875307,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 27.891427867750004,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 11.009012503250002,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1107.855075775,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 3.64,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.6803885550000001,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.2879565665,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.517322394825,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 2.268476220275,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.31315793702499994,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 64.696912725,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 64.696912725,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.5096,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 1.1078194277500002,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 21.45066266,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 452.93823873625,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 73.04629971250002,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 150.7892328796154,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 265.317833074125,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 35.48182776325,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 91.59899399000001,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 90.4988226545,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 1.82,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 9.235138054166667,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 88.20204977750001,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 131.51235301785715,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 43.008245334042556,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 154.95237704305558,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 100.08193184772728,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 158.265010825,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0.40444444444444444,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.7559872833333334,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 23.996380541666667,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 39.794030371153845,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 14.177976376718751,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 24.08907207884615,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 16.17422818125,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 21.233333333333338,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 7.385462851666668,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 17.875552216666666,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 98.01300137175001,
- hasRDI: true,
- daily: 150.7892328796154,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 53.063566614825,
- hasRDI: true,
- daily: 265.317833074125,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.0546,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 27.75428184215,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 8.40546533835,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 106.44548328975,
- hasRDI: true,
- daily: 35.48182776325,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 83.54573479225,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 22.899748497500003,
- hasRDI: true,
- daily: 91.59899399000001,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 51.524165665,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 49.483,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 45.24941132725,
- hasRDI: true,
- daily: 90.4988226545,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 5.46,
- hasRDI: true,
- daily: 1.82,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 221.64331330000002,
- hasRDI: true,
- daily: 9.235138054166667,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 882.0204977750001,
- hasRDI: true,
- daily: 88.20204977750001,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 552.3518826750001,
- hasRDI: true,
- daily: 131.51235301785715,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 2021.3875307,
- hasRDI: true,
- daily: 43.008245334042556,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 27.891427867750004,
- hasRDI: true,
- daily: 154.95237704305558,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 11.009012503250002,
- hasRDI: true,
- daily: 100.08193184772728,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1107.855075775,
- hasRDI: true,
- daily: 158.265010825,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 3.64,
- hasRDI: true,
- daily: 0.40444444444444444,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0.6803885550000001,
- hasRDI: true,
- daily: 0.7559872833333334,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.2879565665,
- hasRDI: true,
- daily: 23.996380541666667,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.517322394825,
- hasRDI: true,
- daily: 39.794030371153845,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 2.268476220275,
- hasRDI: true,
- daily: 14.177976376718751,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.31315793702499994,
- hasRDI: true,
- daily: 24.08907207884615,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 64.696912725,
- hasRDI: true,
- daily: 16.17422818125,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 64.696912725,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.5096,
- hasRDI: true,
- daily: 21.233333333333338,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 1.1078194277500002,
- hasRDI: true,
- daily: 7.385462851666668,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 21.45066266,
- hasRDI: true,
- daily: 17.875552216666666,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 452.93823873625,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/32d874b63d84dd76081f024ae98caa14?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_c827bdb9611f72ccf8c235dc6986e928',
- label: 'Vegan Macaroni Salad',
- image: 'https://www.edamam.com/web-img/57b/57b5d98c7ce021814a0b625018a48460',
- source: 'EatingWell',
- url: 'http://www.eatingwell.com/recipe/278403/vegan-macaroni-salad/',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-macaroni-salad-c827bdb9611f72ccf8c235dc6986e928/vegan',
- yield: 8,
- dietLabels: ['Balanced'],
- healthLabels: [
- 'Sugar-Conscious',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Soy', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '1 ½ cups whole-wheat elbow macaroni (about 6 ounces)',
- '1 ½ cups frozen peas, thawed',
- '1 cup thinly sliced celery',
- '½ cup diced red bell pepper',
- '⅓ cup thinly sliced scallions',
- '½ cup vegan mayonnaise',
- '1 teaspoon grated lemon zest',
- '2 tablespoons lemon juice',
- '¾ teaspoon salt',
- '¼ teaspoon ground pepper',
- ],
- ingredients: [
- {
- text: '1 ½ cups whole-wheat elbow macaroni (about 6 ounces)',
- weight: 170.09713875,
- foodCategory: 'grains',
- foodId: 'food_a8hs60uayl5icia1qe8qoba1kwp8',
- image: 'https://www.edamam.com/food-img/296/296ff2b02ef3822928c3c923e22c7d19.jpg',
- },
- {
- text: '1 ½ cups frozen peas, thawed',
- weight: 201,
- foodCategory: 'vegetables',
- foodId: 'food_aqrct01b4nxw5eaxoo8woaxc3xd7',
- image: 'https://www.edamam.com/food-img/c91/c9130a361d5c5b279bf48c69e2466ec2.jpg',
- },
- {
- text: '1 cup thinly sliced celery',
- weight: 101,
- foodCategory: 'vegetables',
- foodId: 'food_bffeoksbyyur8ja4da73ub2xs57g',
- image: 'https://www.edamam.com/food-img/d91/d91d2aed1c36d8fad54c4d7dc58f5a18.jpg',
- },
- {
- text: '½ cup diced red bell pepper',
- weight: 74.5,
- foodCategory: 'vegetables',
- foodId: 'food_a8g63g7ak6bnmvbu7agxibp4a0dy',
- image: 'https://www.edamam.com/food-img/4dc/4dc48b1a506d334b4ab6671b9d56a18f.jpeg',
- },
- {
- text: '⅓ cup thinly sliced scallions',
- weight: 33.33333333333333,
- foodCategory: 'vegetables',
- foodId: 'food_bknlkyzbuzo27pb11whr4bttkuy6',
- image: 'https://www.edamam.com/food-img/b89/b89986ed6aa466285bdd99bac34b3c46.jpg',
- },
- {
- text: '½ cup vegan mayonnaise',
- weight: 120,
- foodCategory: 'condiments and sauces',
- foodId: 'food_adwabpvayhkfdbaz07tv6b68sgd1',
- image: 'https://www.edamam.com/food-img/443/443b9f86c8a9ddb82d157e267212aeb6.jpg',
- },
- {
- text: '1 teaspoon grated lemon zest',
- weight: 2,
- foodCategory: 'fruit',
- foodId: 'food_bpg66j3a5vjuuga36uiiyaqeazpd',
- image: 'https://www.edamam.com/food-img/540/5405605c8e9b284243f06c0b1587ab6f.jpg',
- },
- {
- text: '2 tablespoons lemon juice',
- weight: 30.4999999994844,
- foodCategory: '100% juice',
- foodId: 'food_bglm6vxahuauteb0n6ynfbg9eryu',
- image: 'https://www.edamam.com/food-img/e31/e310952d214e78a4cb8b73f30ceeaaf2.jpg',
- },
- {
- text: '¾ teaspoon salt',
- weight: 4.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '¼ teaspoon ground pepper',
- weight: 0.725,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- ],
- calories: 1231.6218014290532,
- totalWeight: 734.3432764730362,
- totalTime: 20,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['salad'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1231.6218014290532,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 42.081835128457094,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 4.205302741003961,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.18359999999999999,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 6.703358857262469,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 21.391125029216557,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 170.88658767125605,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 20.34220010666512,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 21.727300271278676,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 42.0693943929982,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1704.938387219151,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 221.1622221911215,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 234.9097782480379,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1322.1868937631868,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 6.740963391570642,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 5.004184960764961,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 604.8724255707922,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 365.5374166666667,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 155.09766666646715,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.8227537582082096,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.5060999499165894,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 7.734478108749531,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.7638160203580961,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 245.19406830823024,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 245.19406830823024,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 4.7987301859575595,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 223.75942213874998,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 470.09876067788787,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 61.58109007145266,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 64.74128481301092,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 21.026513705019802,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 56.962195890418684,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 81.36880042666048,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 84.1387887859964,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 71.03909946746464,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 22.116222219112146,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 55.93089958286617,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 28.131636037514614,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 37.4497966198369,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 45.492590552408736,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 86.41034651011317,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 40.61526851851852,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 172.33074074051908,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 68.56281318401747,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 38.93076537819918,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 48.34048817968457,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 58.75507848908432,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 61.29851707705756,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 31.991534573050398,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 186.466185115625,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 42.081835128457094,
- hasRDI: true,
- daily: 64.74128481301092,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 4.205302741003961,
- hasRDI: true,
- daily: 21.026513705019802,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.18359999999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 6.703358857262469,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 21.391125029216557,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 170.88658767125605,
- hasRDI: true,
- daily: 56.962195890418684,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 150.54438756459092,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 20.34220010666512,
- hasRDI: true,
- daily: 81.36880042666048,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 21.727300271278676,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 42.0693943929982,
- hasRDI: true,
- daily: 84.1387887859964,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1704.938387219151,
- hasRDI: true,
- daily: 71.03909946746464,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 221.1622221911215,
- hasRDI: true,
- daily: 22.116222219112146,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 234.9097782480379,
- hasRDI: true,
- daily: 55.93089958286617,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1322.1868937631868,
- hasRDI: true,
- daily: 28.131636037514614,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 6.740963391570642,
- hasRDI: true,
- daily: 37.4497966198369,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 5.004184960764961,
- hasRDI: true,
- daily: 45.492590552408736,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 604.8724255707922,
- hasRDI: true,
- daily: 86.41034651011317,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 365.5374166666667,
- hasRDI: true,
- daily: 40.61526851851852,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 155.09766666646715,
- hasRDI: true,
- daily: 172.33074074051908,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.8227537582082096,
- hasRDI: true,
- daily: 68.56281318401747,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.5060999499165894,
- hasRDI: true,
- daily: 38.93076537819918,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 7.734478108749531,
- hasRDI: true,
- daily: 48.34048817968457,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.7638160203580961,
- hasRDI: true,
- daily: 58.75507848908432,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 245.19406830823024,
- hasRDI: true,
- daily: 61.29851707705756,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 245.19406830823024,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 4.7987301859575595,
- hasRDI: true,
- daily: 31.991534573050398,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 223.75942213874998,
- hasRDI: true,
- daily: 186.466185115625,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 470.09876067788787,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/c827bdb9611f72ccf8c235dc6986e928?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_7c8233c7de34cb4e919050d77378d1ea',
- label: 'Vegan toffee apple upside-down cake',
- image: 'https://www.edamam.com/web-img/3fd/3fdc78b639068ebbcf08f8cc564a1569.jpg',
- source: 'Jamie Oliver',
- url: 'http://www.jamieoliver.com/recipes/fruit-recipes/vegan-toffee-apple-upside-down-cake/',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-toffee-apple-upside-down-cake-7c8233c7de34cb4e919050d77378d1ea/vegan',
- yield: 9,
- dietLabels: [],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Sulfites', 'FODMAP'],
- ingredientLines: [
- '25 g vegan margarine , plus extra for greasing',
- '3 dessert apples',
- '195 g muscovado sugar',
- '180 g plain flour',
- '1 teaspoon bicarbonate of soda',
- '1½ teaspoons mixed spice',
- '80 ml sunflower oil',
- '1 tesapoon vinegar',
- '1 lemon',
- '85 g walnuts',
- ],
- ingredients: [
- {
- text: '25 g vegan margarine , plus extra for greasing',
- weight: 25,
- foodCategory: 'oils',
- foodId: 'food_bmgvd8ebe85l7ybbyb7gob2y2w1k',
- image: 'https://www.edamam.com/food-img/e1d/e1deed85a7d1c9132466ea4513ee3070.jpg',
- },
- {
- text: '3 dessert apples',
- weight: 546,
- foodCategory: 'fruit',
- foodId: 'food_a1gb9ubb72c7snbuxr3weagwv0dd',
- image: 'https://www.edamam.com/food-img/42c/42c006401027d35add93113548eeaae6.jpg',
- },
- {
- text: '195 g muscovado sugar',
- weight: 195,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '180 g plain flour',
- weight: 180,
- foodCategory: 'grains',
- foodId: 'food_ahebfs0a985an4aubqaebbipra58',
- image: 'https://www.edamam.com/food-img/b4c/b4c739e76a6f2172b7ad49d0aa41d5aa.jpg',
- },
- {
- text: '1 teaspoon bicarbonate of soda',
- weight: 4.6,
- foodCategory: 'condiments and sauces',
- foodId: 'food_asa4cjoa3lmt8ibwdg0cpblheo69',
- image: 'https://www.edamam.com/food-img/7e5/7e55e4482cc2fde91f427fc568e6f5b8.jpeg',
- },
- {
- text: '1½ teaspoons mixed spice',
- weight: 1.5,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_avsq22zadwyb5cb5sl1byaa4mbo8',
- image: 'https://www.edamam.com/food-img/89b/89b37a04e46e052671d73addcb84aa51.jpg',
- },
- {
- text: '80 ml sunflower oil',
- weight: 73.71456949001774,
- foodCategory: 'Oils',
- foodId: 'food_b09yz1nbx49rv1bss5kgxat77cvn',
- image: 'https://www.edamam.com/food-img/be4/be4dba2bb618ecda2213ac422ae05289.jpg',
- },
- {
- text: '1 tesapoon vinegar',
- weight: 15,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_am3vwadag9arxtadrwyfcau2w3b2',
- image: 'https://www.edamam.com/food-img/5f6/5f69b84c399d778c4728e9ab4f8065a2.jpg',
- },
- {
- text: '1 lemon',
- weight: 58,
- foodCategory: 'fruit',
- foodId: 'food_a6uzc62astrxcgbtzyq59b6fncrr',
- image: 'https://www.edamam.com/food-img/70a/70acba3d4c734d7c70ef4efeed85dc8f.jpg',
- },
- {
- text: '85 g walnuts',
- weight: 85,
- foodCategory: 'plant-based protein',
- foodId: 'food_acqkmojaw4fltga9jad8mb85u9z2',
- image: 'https://www.edamam.com/food-img/624/6243d320d94b15ebaece2634cc5b40c5.jpg',
- },
- ],
- calories: 3103.5382228631856,
- totalWeight: 1183.8145694900177,
- totalTime: 50,
- cuisineType: ['british'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3103.5382228631856,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 151.76357663287487,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 20.642586890845163,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 50.78600253295962,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 72.48561900865217,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 425.7458,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 25.837999999999997,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 255.52554999999998,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 194.60999999999999,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 33.73375,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1461.055,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 189.34,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 209.29,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1248.12,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 7.5387,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 4.253399999999999,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 561.4549999999999,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 20.66,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 57.71099999999999,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.6295649999999999,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.39609500000000003,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 3.8352099999999996,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.81416,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 156.97,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 156.97,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 33.59551657507071,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 44.54508675246095,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 558.0635500000001,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 155.1769111431593,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 233.48242558903826,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 103.21293445422582,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 141.91526666666664,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 103.35199999999999,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 67.4675,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 60.877291666666665,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 18.934,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 49.83095238095238,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 26.55574468085106,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 41.88166666666667,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 38.66727272727272,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 80.20785714285714,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 2.2955555555555556,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 64.12333333333332,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 52.46375,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 30.468846153846155,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 23.970062499999997,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 62.6276923076923,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 39.2425,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 223.9701105004714,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 37.120905627050796,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 151.76357663287487,
- hasRDI: true,
- daily: 233.48242558903826,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 20.642586890845163,
- hasRDI: true,
- daily: 103.21293445422582,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 50.78600253295962,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 72.48561900865217,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 425.7458,
- hasRDI: true,
- daily: 141.91526666666664,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 399.90779999999995,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 25.837999999999997,
- hasRDI: true,
- daily: 103.35199999999999,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 255.52554999999998,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 194.60999999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 33.73375,
- hasRDI: true,
- daily: 67.4675,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1461.055,
- hasRDI: true,
- daily: 60.877291666666665,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 189.34,
- hasRDI: true,
- daily: 18.934,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 209.29,
- hasRDI: true,
- daily: 49.83095238095238,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1248.12,
- hasRDI: true,
- daily: 26.55574468085106,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 7.5387,
- hasRDI: true,
- daily: 41.88166666666667,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 4.253399999999999,
- hasRDI: true,
- daily: 38.66727272727272,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 561.4549999999999,
- hasRDI: true,
- daily: 80.20785714285714,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 20.66,
- hasRDI: true,
- daily: 2.2955555555555556,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 57.71099999999999,
- hasRDI: true,
- daily: 64.12333333333332,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.6295649999999999,
- hasRDI: true,
- daily: 52.46375,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.39609500000000003,
- hasRDI: true,
- daily: 30.468846153846155,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 3.8352099999999996,
- hasRDI: true,
- daily: 23.970062499999997,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.81416,
- hasRDI: true,
- daily: 62.6276923076923,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 156.97,
- hasRDI: true,
- daily: 39.2425,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 156.97,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 33.59551657507071,
- hasRDI: true,
- daily: 223.9701105004714,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 44.54508675246095,
- hasRDI: true,
- daily: 37.120905627050796,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 558.0635500000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/7c8233c7de34cb4e919050d77378d1ea?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_577e48e77c3aa6ee7d65d2ac6386048a',
- label: 'Vegan tiffin',
- image: 'https://www.edamam.com/web-img/a43/a43db847370d83e605ecac50b53a969a.jpg',
- source: 'BBC Good Food',
- url: 'https://www.bbcgoodfood.com/recipes/vegan-tiffin',
- shareAs: 'http://www.edamam.com/recipe/vegan-tiffin-577e48e77c3aa6ee7d65d2ac6386048a/vegan',
- yield: 25,
- dietLabels: ['Low-Sodium'],
- healthLabels: [
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Vegetarian',
- 'Pescatarian',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Tree-Nuts', 'Sulfites'],
- ingredientLines: [
- '75g coconut oil, plus extra for the tin',
- '200g vegan dark chocolate (at least 70%), roughly chopped',
- '2 tbsp golden syrup',
- '200g vegan ginger nuts',
- '100g dried cranberries',
- '50g pistachios, toasted and chopped',
- ],
- ingredients: [
- {
- text: '75g coconut oil, plus extra for the tin',
- weight: 75,
- foodCategory: 'Oils',
- foodId: 'food_b40ubq8a0enoidbcr1tmfbwgs6aw',
- image: 'https://www.edamam.com/food-img/3c9/3c97284c57e76e16093d51572b558be8.jpg',
- },
- {
- text: '200g vegan dark chocolate (at least 70%), roughly chopped',
- weight: 200,
- foodCategory: 'chocolate',
- foodId: 'food_afwurvlasugs4ibig02xbblph5bn',
- image: 'https://www.edamam.com/food-img/3cf/3cf0e13350f43392dc13c07d27ad145d.jpg',
- },
- {
- text: '2 tbsp golden syrup',
- weight: 40,
- foodCategory: 'sugars',
- foodId: 'food_bo79gpza83y5i8a3ze96lb0pan32',
- image: 'https://www.edamam.com/food-img/8c0/8c0be6812a605404c0bcebf2fd2a27cd.jpg',
- },
- {
- text: '200g vegan ginger nuts',
- weight: 200,
- foodCategory: 'plant-based protein',
- foodId: 'food_amqspy5ap567v6bun60usbgsaor7',
- image: 'https://www.edamam.com/food-img/e29/e2985d3585a6950c276e204ba7ba9b2e.jpg',
- },
- {
- text: '100g dried cranberries',
- weight: 100,
- foodCategory: 'sugar jam',
- foodId: 'food_atvsjvja2h9xyfblcy3pzaienr8a',
- image: 'https://www.edamam.com/food-img/8aa/8aa3935a527394e1568079a489759221.jpg',
- },
- {
- text: '50g pistachios, toasted and chopped',
- weight: 50,
- foodCategory: 'plant-based protein',
- foodId: 'food_apsiasib4lwjivakg7bouakq9l6s',
- image: 'https://www.edamam.com/food-img/1ed/1eda10468a9c3df61f8208fe156e832d.jpg',
- },
- ],
- calories: 3747.1,
- totalWeight: 665,
- totalTime: 18,
- cuisineType: ['american'],
- mealType: ['teatime'],
- dishType: ['dessert'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3747.1,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 287.22499999999997,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 130.532,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.06,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 104.80999999999999,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 32.93000000000001,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 272.175,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 50.65,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 116.80999999999999,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 47.98,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 60.385,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 6,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 95.9,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 357.7,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 975.1,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3201.7,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 34.016000000000005,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 15.441999999999998,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1742.2,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 16.5,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 3.8,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.9124000000000001,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.6708,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 13.156,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 1.5596,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 126.7,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 126.7,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.56,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 3.4675,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 18.775,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 30.435000000000002,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 187.355,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 441.8846153846153,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 652.6600000000001,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 90.725,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 202.6,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 120.77,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 2,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 3.995833333333333,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 35.77,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 232.16666666666666,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 68.12127659574467,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 188.9777777777778,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 140.38181818181818,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 248.88571428571427,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1.8333333333333333,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 4.222222222222222,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 76.03333333333335,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 51.599999999999994,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 82.22500000000001,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 119.96923076923078,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 31.675,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 23.333333333333336,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 23.116666666666667,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 15.645833333333332,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 287.22499999999997,
- hasRDI: true,
- daily: 441.8846153846153,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 130.532,
- hasRDI: true,
- daily: 652.6600000000001,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.06,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 104.80999999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 32.93000000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 272.175,
- hasRDI: true,
- daily: 90.725,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 221.525,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 50.65,
- hasRDI: true,
- daily: 202.6,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 116.80999999999999,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 47.98,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 60.385,
- hasRDI: true,
- daily: 120.77,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 6,
- hasRDI: true,
- daily: 2,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 95.9,
- hasRDI: true,
- daily: 3.995833333333333,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 357.7,
- hasRDI: true,
- daily: 35.77,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 975.1,
- hasRDI: true,
- daily: 232.16666666666666,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3201.7,
- hasRDI: true,
- daily: 68.12127659574467,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 34.016000000000005,
- hasRDI: true,
- daily: 188.9777777777778,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 15.441999999999998,
- hasRDI: true,
- daily: 140.38181818181818,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1742.2,
- hasRDI: true,
- daily: 248.88571428571427,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 16.5,
- hasRDI: true,
- daily: 1.8333333333333333,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 3.8,
- hasRDI: true,
- daily: 4.222222222222222,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.9124000000000001,
- hasRDI: true,
- daily: 76.03333333333335,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.6708,
- hasRDI: true,
- daily: 51.599999999999994,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 13.156,
- hasRDI: true,
- daily: 82.22500000000001,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 1.5596,
- hasRDI: true,
- daily: 119.96923076923078,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 126.7,
- hasRDI: true,
- daily: 31.675,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 126.7,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.56,
- hasRDI: true,
- daily: 23.333333333333336,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 3.4675,
- hasRDI: true,
- daily: 23.116666666666667,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 18.775,
- hasRDI: true,
- daily: 15.645833333333332,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 30.435000000000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/577e48e77c3aa6ee7d65d2ac6386048a?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_296651641ed9f6eb29705f3d7fdb22da',
- label: 'Vegan Nanaimo Bars recipes',
- image: 'https://www.edamam.com/web-img/f8d/f8dee5f79be517624d1a8040c90790c5',
- source: 'Oh She Glows',
- url: 'http://ohsheglows.com/2010/12/16/vegan-nanaimo-bars/',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-nanaimo-bars-recipes-296651641ed9f6eb29705f3d7fdb22da/vegan',
- yield: 8,
- dietLabels: [],
- healthLabels: [
- 'Vegetarian',
- 'Pescatarian',
- 'Peanut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Tree-Nuts', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '1/2 cup vegan butter (or regular butter)',
- '1/4 cup sugar',
- '5 tbsp unsweetened cocoa powder, sifted',
- '1 flax egg (1 tbsp ground flax + 3 tbsp warm water, mixed)',
- '1 and ¼ cup vegan graham crackers or store bought, processed into a crumb',
- '1/4 cup almonds, processed fine',
- '1 cup unsweetened coconut',
- '1/2 cup vegan butter (or regular butter)',
- '2 tbsp coconut milk, full-fat (not light)',
- '1 tsp pure vanilla extract',
- '2 tbsp vanilla custard powder',
- '2 cups icing/confectioner’s sugar, sifted',
- '4 oz non-dairy dark chocolate or semi-sweet plus 2 tbsp vegan butter (or regular butter)',
- 'shredded coconut',
- ],
- ingredients: [
- {
- text: '1/2 cup vegan butter (or regular butter)',
- weight: 109,
- foodCategory: 'Oils',
- foodId: 'food_bn7cczea5psahcbaqvd2ob43qksr',
- image: 'https://www.edamam.com/food-img/330/3302cd340e3d2dcf7f02e72fdfe8b209.jpg',
- },
- {
- text: '1/4 cup sugar',
- weight: 50,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '5 tbsp unsweetened cocoa powder, sifted',
- weight: 27,
- foodCategory: 'chocolate',
- foodId: 'food_afcmkjjaqwjkezbfz7htdb7mpkwz',
- image: 'https://www.edamam.com/food-img/89a/89af89595db3cf2c3007f2b064c5fef6.jpg',
- },
- {
- text: '1 flax egg (1 tbsp ground flax + 3 tbsp warm water, mixed)',
- weight: 43,
- foodCategory: 'Eggs',
- foodId: 'food_bhpradua77pk16aipcvzeayg732r',
- image: 'https://www.edamam.com/food-img/a7e/a7ec7c337cb47c6550b3b118e357f077.jpg',
- },
- {
- text: '1 and ¼ cup vegan graham crackers or store bought, processed into a crumb',
- weight: 105,
- foodCategory: 'pastries',
- foodId: 'food_aipm8mobslonobbbkxmhbb8a4iox',
- image: 'https://www.edamam.com/food-img/448/448b5544a8ac969e88525f6bc44f5c12.jpg',
- },
- {
- text: '1/4 cup almonds, processed fine',
- weight: 35.75,
- foodCategory: 'plant-based protein',
- foodId: 'food_bq4d2wras281i0br37nrnaglo3yc',
- image: 'https://www.edamam.com/food-img/6c2/6c2dc21adf11afc4c8d390ee2f651e56.jpg',
- },
- {
- text: '1 cup unsweetened coconut',
- weight: 85,
- foodCategory: 'plant-based protein',
- foodId: 'food_a9ua70bboyd4rebvrdwb0benu8pn',
- image: 'https://www.edamam.com/food-img/d76/d76b9333b99d55d69b023d81d179aa39.jpg',
- },
- {
- text: '1/2 cup vegan butter (or regular butter)',
- weight: 109,
- foodCategory: 'Oils',
- foodId: 'food_bn7cczea5psahcbaqvd2ob43qksr',
- image: 'https://www.edamam.com/food-img/330/3302cd340e3d2dcf7f02e72fdfe8b209.jpg',
- },
- {
- text: '2 tbsp coconut milk, full-fat (not light)',
- weight: 30,
- foodCategory: 'non-dairy beverages',
- foodId: 'food_by1k6v2adj7drhbq9w1rpbpen9ms',
- image: 'https://www.edamam.com/food-img/671/671f7528eadb1b01efb53243d0ef0f80.JPG',
- },
- {
- text: '1 tsp pure vanilla extract',
- weight: 4.2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bh1wvnqaw3q7ciascfoygaabax2a',
- image: 'https://www.edamam.com/food-img/90f/90f910b0bf82750d4f6528263e014cca.jpg',
- },
- {
- text: '2 tbsp vanilla custard powder',
- weight: 35.24999999940403,
- foodCategory: 'chocolate',
- foodId: 'food_aqftc79a23qh42af8c2nva87li25',
- image: 'https://www.edamam.com/food-img/932/932b2776ea9cd734c5986d3d013017ee.jpg',
- },
- {
- text: '2 cups icing/confectioner’s sugar, sifted',
- weight: 200,
- foodCategory: 'sugars',
- foodId: 'food_b7rbtshahirxisbtyc77sbv8jdue',
- image: 'https://www.edamam.com/food-img/290/290624aa4c0e279551e462443e38bb40.jpg',
- },
- {
- text: '4 oz non-dairy dark chocolate or semi-sweet plus 2 tbsp vegan butter (or regular butter)',
- weight: 113.3980925,
- foodCategory: 'Oils',
- foodId: 'food_bn7cczea5psahcbaqvd2ob43qksr',
- image: 'https://www.edamam.com/food-img/330/3302cd340e3d2dcf7f02e72fdfe8b209.jpg',
- },
- {
- text: 'shredded coconut',
- weight: 0,
- foodCategory: 'plant-based protein',
- foodId: 'food_a9ua70bboyd4rebvrdwb0benu8pn',
- image: 'https://www.edamam.com/food-img/d76/d76b9333b99d55d69b023d81d179aa39.jpg',
- },
- ],
- calories: 5351.45763769938,
- totalWeight: 946.5980924994041,
- totalTime: 85,
- cuisineType: ['american'],
- mealType: ['teatime'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 5351.45763769938,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 431.03283749997274,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 372.19330165341216,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.9311455977250002,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 20.664333097716778,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 11.820240499997556,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 380.0740249999344,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 31.883750000000003,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 284.4555249999345,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 249.39749999993444,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 33.504494999970085,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 189.5699999994994,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 630.6518855496365,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 307.1509809243623,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 373.0964999999345,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1505.6174809241177,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 14.372537138747912,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 6.8783884739967815,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 893.5119999993263,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 86.07249999970797,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 1.575,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.4612544999997736,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.2223549999985697,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 7.3350974999993745,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.5991494999997139,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 209.05499999994038,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 79.90499999994042,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 75.60000000000001,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.5201749999976757,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.86,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 24.30454232424869,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 97.99982884749882,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 93.74678404578002,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 267.57288188496904,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 663.1274423076503,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 1860.966508267061,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 126.6913416666448,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 127.53500000000003,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 67.00898999994017,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 63.18999999983314,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 26.27716189790152,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 30.715098092436225,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 88.8324999999844,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 32.034414487747185,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 79.84742854859951,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 62.530804309061644,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 127.64457142847519,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 9.563611111078664,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 1.75,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 38.43787499998113,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 94.02730769219767,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 45.84435937499609,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 46.088423076901066,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 52.263749999985095,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 21.673958333236488,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 5.733333333333333,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 162.03028216165794,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 81.66652403958234,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 431.03283749997274,
- hasRDI: true,
- daily: 663.1274423076503,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 372.19330165341216,
- hasRDI: true,
- daily: 1860.966508267061,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.9311455977250002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 20.664333097716778,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 11.820240499997556,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 380.0740249999344,
- hasRDI: true,
- daily: 126.6913416666448,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 348.1902749999344,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 31.883750000000003,
- hasRDI: true,
- daily: 127.53500000000003,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 284.4555249999345,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 249.39749999993444,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 33.504494999970085,
- hasRDI: true,
- daily: 67.00898999994017,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 189.5699999994994,
- hasRDI: true,
- daily: 63.18999999983314,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 630.6518855496365,
- hasRDI: true,
- daily: 26.27716189790152,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 307.1509809243623,
- hasRDI: true,
- daily: 30.715098092436225,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 373.0964999999345,
- hasRDI: true,
- daily: 88.8324999999844,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1505.6174809241177,
- hasRDI: true,
- daily: 32.034414487747185,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 14.372537138747912,
- hasRDI: true,
- daily: 79.84742854859951,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 6.8783884739967815,
- hasRDI: true,
- daily: 62.530804309061644,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 893.5119999993263,
- hasRDI: true,
- daily: 127.64457142847519,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 86.07249999970797,
- hasRDI: true,
- daily: 9.563611111078664,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 1.575,
- hasRDI: true,
- daily: 1.75,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.4612544999997736,
- hasRDI: true,
- daily: 38.43787499998113,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.2223549999985697,
- hasRDI: true,
- daily: 94.02730769219767,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 7.3350974999993745,
- hasRDI: true,
- daily: 45.84435937499609,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.5991494999997139,
- hasRDI: true,
- daily: 46.088423076901066,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 209.05499999994038,
- hasRDI: true,
- daily: 52.263749999985095,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 79.90499999994042,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 75.60000000000001,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.5201749999976757,
- hasRDI: true,
- daily: 21.673958333236488,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.86,
- hasRDI: true,
- daily: 5.733333333333333,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 24.30454232424869,
- hasRDI: true,
- daily: 162.03028216165794,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 97.99982884749882,
- hasRDI: true,
- daily: 81.66652403958234,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 93.74678404578002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/296651641ed9f6eb29705f3d7fdb22da?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_2b83575867c1f5f3e6e001db1e6c5fbc',
- label: 'Vegan Stovetop Lasagna',
- image: 'https://www.edamam.com/web-img/3b5/3b5b3ba26f08f288f451f7e6e95fb429.jpg',
- source: 'The Daily Meal',
- url: 'http://www.thedailymeal.com/recipes/vegan-stovetop-lasagna-recipe',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-stovetop-lasagna-2b83575867c1f5f3e6e001db1e6c5fbc/vegan',
- yield: 12,
- dietLabels: ['Balanced'],
- healthLabels: [
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Tree-Nuts', 'Soy', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '2 Tablespoons olive oil',
- '1 Pound portabella mushroom, chopped',
- 'Salt, to taste',
- 'Pepper, to taste',
- '2 Tablespoons herbes de Provence',
- '2 cloves of garlic, minced',
- '1 twenty-six ounce jar of marinara sauce, (about three and a half cups), divided',
- '1 package no-boil lasagna noodles',
- '8 Ounces vegan mozzarella cheese, shredded',
- '1 Cup vegan cream cheese',
- ],
- ingredients: [
- {
- text: '2 Tablespoons olive oil',
- weight: 27,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '1 Pound portabella mushroom, chopped',
- weight: 453.59237,
- foodCategory: 'vegetables',
- foodId: 'food_bikaydza0r1y3ja1c2nxxbqnynlg',
- image: 'https://www.edamam.com/food-img/245/2457f8850f43817dfeb967825467ef1e.jpg',
- },
- {
- text: 'Salt, to taste',
- weight: 14.01473133,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Pepper, to taste',
- weight: 7.007365665,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '2 Tablespoons herbes de Provence',
- weight: 5.4,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_avsq22zadwyb5cb5sl1byaa4mbo8',
- image: 'https://www.edamam.com/food-img/89b/89b37a04e46e052671d73addcb84aa51.jpg',
- },
- {
- text: '2 cloves of garlic, minced',
- weight: 6,
- foodCategory: 'vegetables',
- foodId: 'food_avtcmx6bgjv1jvay6s6stan8dnyp',
- image: 'https://www.edamam.com/food-img/6ee/6ee142951f48aaf94f4312409f8d133d.jpg',
- },
- {
- text: '1 twenty-six ounce jar of marinara sauce, (about three and a half cups), divided',
- weight: 924,
- foodCategory: 'canned soup',
- foodId: 'food_a7hv5mybkkrs3ub78yhtxafs67bu',
- image: 'https://www.edamam.com/food-img/08b/08b3bb49c006689a458a8b9c4a4e0057.jpg',
- },
- {
- text: '1 package no-boil lasagna noodles',
- weight: 453,
- foodCategory: 'grains',
- foodId: 'food_a8hs60uayl5icia1qe8qoba1kwp8',
- image: 'https://www.edamam.com/food-img/296/296ff2b02ef3822928c3c923e22c7d19.jpg',
- },
- {
- text: '8 Ounces vegan mozzarella cheese, shredded',
- weight: 226.796185,
- foodCategory: 'Cheese',
- foodId: 'food_bdofwyyb2xhmb1bx3uyz9broefm7',
- image: 'https://www.edamam.com/food-img/8dc/8dcc66cd29b3f5c76d55cdbe046ad860.jpg',
- },
- {
- text: '1 Cup vegan cream cheese',
- weight: 240,
- foodCategory: 'Plant-based protein',
- foodId: 'food_afw1vv1ac3l17wbn9gcq2autcc91',
- image: 'https://www.edamam.com/food-img/fc7/fc77c17a6b7310e939f328b32dc64e81.jpg',
- },
- ],
- calories: 3772.5215415675375,
- totalWeight: 2342.7959206650003,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['main course'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3772.5215415675375,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 147.15464657751772,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 38.718440829019706,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.0643436948,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 38.28500873581435,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 14.7116042775367,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 512.2123585028804,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 56.405435290986944,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 135.87668886362698,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 124.76939768683545,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 18.48,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 6428.0809117475155,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 2040.7458391733696,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 524.75903113715,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 6802.1627582378505,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 26.11431048661989,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 15.4805339644135,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 3013.5371559007003,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1308.1713171795502,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 23.278796185,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.0033164613182,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 2.4728444005970003,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 65.38631920380095,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 3.15295419603515,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 369.78069611305006,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 369.78069611305006,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 2.0638452835000005,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.3607771100000001,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 27.370590880416,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 251.56701944360503,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 1385.574288811859,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 188.62607707837688,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 226.39176396541188,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 193.59220414509852,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 170.7374528342935,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 225.62174116394777,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 249.53879537367092,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 6.16,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 267.8367046561465,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 204.07458391733698,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 124.9426264612262,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 144.72686719655002,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 145.07950270344384,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 140.73212694921364,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 430.5053079858144,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 145.35236857550558,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 25.865329094444444,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 83.60970510985,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 190.21880004592308,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 408.66449502375593,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 242.53493815655003,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 92.44517402826251,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 85.99355347916669,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 9.071847400000001,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 182.47060586944,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 209.63918286967086,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 147.15464657751772,
- hasRDI: true,
- daily: 226.39176396541188,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 38.718440829019706,
- hasRDI: true,
- daily: 193.59220414509852,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.0643436948,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 38.28500873581435,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 14.7116042775367,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 512.2123585028804,
- hasRDI: true,
- daily: 170.7374528342935,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 455.8069232118935,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 56.405435290986944,
- hasRDI: true,
- daily: 225.62174116394777,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 135.87668886362698,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 124.76939768683545,
- hasRDI: true,
- daily: 249.53879537367092,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 18.48,
- hasRDI: true,
- daily: 6.16,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 6428.0809117475155,
- hasRDI: true,
- daily: 267.8367046561465,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 2040.7458391733696,
- hasRDI: true,
- daily: 204.07458391733698,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 524.75903113715,
- hasRDI: true,
- daily: 124.9426264612262,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 6802.1627582378505,
- hasRDI: true,
- daily: 144.72686719655002,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 26.11431048661989,
- hasRDI: true,
- daily: 145.07950270344384,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 15.4805339644135,
- hasRDI: true,
- daily: 140.73212694921364,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 3013.5371559007003,
- hasRDI: true,
- daily: 430.5053079858144,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1308.1713171795502,
- hasRDI: true,
- daily: 145.35236857550558,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 23.278796185,
- hasRDI: true,
- daily: 25.865329094444444,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.0033164613182,
- hasRDI: true,
- daily: 83.60970510985,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 2.4728444005970003,
- hasRDI: true,
- daily: 190.21880004592308,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 65.38631920380095,
- hasRDI: true,
- daily: 408.66449502375593,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 3.15295419603515,
- hasRDI: true,
- daily: 242.53493815655003,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 369.78069611305006,
- hasRDI: true,
- daily: 92.44517402826251,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 369.78069611305006,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 2.0638452835000005,
- hasRDI: true,
- daily: 85.99355347916669,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 1.3607771100000001,
- hasRDI: true,
- daily: 9.071847400000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 27.370590880416,
- hasRDI: true,
- daily: 182.47060586944,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 251.56701944360503,
- hasRDI: true,
- daily: 209.63918286967086,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 1385.574288811859,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/2b83575867c1f5f3e6e001db1e6c5fbc?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_7c43fc541413fd0e5f1688b195df9573',
- label: 'Vegan Chocolate Chocolate Chip Cookies',
- image: 'https://www.edamam.com/web-img/471/471b73021785f73d5a5165eadb0a27b6.jpg',
- source: 'Joy the Baker',
- url: 'http://www.joythebaker.com/blog/2011/04/vegan-chocolate-chocolate-chip-cookies/',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-chocolate-chocolate-chip-cookies-7c43fc541413fd0e5f1688b195df9573/vegan',
- yield: 24,
- dietLabels: ['Low-Sodium'],
- healthLabels: ['Low Potassium', 'Kidney-Friendly', 'Kosher'],
- cautions: ['Sulfites'],
- ingredientLines: [
- '2 1/2 cups all-purpose flour',
- '1/2 cup unsweetened cocoa powder',
- '1 teaspoon baking powder',
- '1/2 teaspoon baking soda',
- '1/2 teaspoon salt',
- '1 cup sugar (vegan)',
- '2 tablespoons flax seed meal',
- '1/2 cup applesauce',
- '1/4 cup canola oil',
- '1/2 cup chocolate coated sunflower seeds',
- '1/2 cup chocolate chips (or 1 cup vegan chocolate chips)',
- '1 teaspoon pure vanilla extract',
- ],
- ingredients: [
- {
- text: '2 1/2 cups all-purpose flour',
- weight: 312.5,
- foodCategory: 'grains',
- foodId: 'food_ar3x97tbq9o9p6b6gzwj0am0c81l',
- image: 'https://www.edamam.com/food-img/368/368077bbcab62f862a8c766a56ea5dd1.jpg',
- },
- {
- text: '1/2 cup unsweetened cocoa powder',
- weight: 43,
- foodCategory: 'chocolate',
- foodId: 'food_afcmkjjaqwjkezbfz7htdb7mpkwz',
- image: 'https://www.edamam.com/food-img/89a/89af89595db3cf2c3007f2b064c5fef6.jpg',
- },
- {
- text: '1 teaspoon baking powder',
- weight: 4.6,
- foodCategory: 'condiments and sauces',
- foodId: 'food_bad4zycbt4w60dbut111vaub2g3e',
- image: 'https://www.edamam.com/food-img/a84/a8410ec57a2e62a1ad9955ac14d40af6.jpg',
- },
- {
- text: '1/2 teaspoon baking soda',
- weight: 2.3,
- foodCategory: 'condiments and sauces',
- foodId: 'food_asa4cjoa3lmt8ibwdg0cpblheo69',
- image: 'https://www.edamam.com/food-img/7e5/7e55e4482cc2fde91f427fc568e6f5b8.jpeg',
- },
- {
- text: '1/2 teaspoon salt',
- weight: 3,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1 cup sugar (vegan)',
- weight: 200,
- foodCategory: 'sugars',
- foodId: 'food_axi2ijobrk819yb0adceobnhm1c2',
- image: 'https://www.edamam.com/food-img/ecb/ecb3f5aaed96d0188c21b8369be07765.jpg',
- },
- {
- text: '2 tablespoons flax seed meal',
- weight: 20.6,
- foodCategory: 'plant-based protein',
- foodId: 'food_ahetcthajw7myuay9fe2jbwgxqx9',
- image: 'https://www.edamam.com/food-img/e9b/e9bd9cc62d0dbe0753911e295a0ba0ca.jpg',
- },
- {
- text: '1/2 cup applesauce',
- weight: 122,
- foodCategory: 'canned fruit',
- foodId: 'food_a42ufi8ben9zhqbzqv66lab1lwvd',
- image: 'https://www.edamam.com/food-img/c59/c59e749347516e4aa0aaa3ea25925426.jpg',
- },
- {
- text: '1/4 cup canola oil',
- weight: 54.5,
- foodCategory: 'Oils',
- foodId: 'food_bk9p9aaavhvoq4bqsnprobpsiuxs',
- image: 'https://www.edamam.com/food-img/07e/07e106ab3536d57428e5c46d009038f8.jpg',
- },
- {
- text: '1/2 cup chocolate coated sunflower seeds',
- weight: 23,
- foodCategory: 'plant-based protein',
- foodId: 'food_ay6dklzbwv5bbfbw3dayyauiaznx',
- image: 'https://www.edamam.com/food-img/c03/c035107b6716331396e91f7c2c0f2a04.jpg',
- },
- {
- text: '1/2 cup chocolate chips (or 1 cup vegan chocolate chips)',
- weight: 112,
- foodCategory: 'chocolate',
- foodId: 'food_b0camz2asgzienbko2epvbzzv6qj',
- image: 'https://www.edamam.com/food-img/36c/36ce336d10d51259f365ec2dbc1e28c4.jpg',
- },
- {
- text: '1 teaspoon pure vanilla extract',
- weight: 4.2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bh1wvnqaw3q7ciascfoygaabax2a',
- image: 'https://www.edamam.com/food-img/90f/90f910b0bf82750d4f6528263e014cca.jpg',
- },
- ],
- calories: 3363.5660000000003,
- totalWeight: 901.2621623303577,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['teatime'],
- dishType: ['biscuits and cookies'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 3363.5660000000003,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 110.26198000000002,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 25.959728,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.42135500000000004,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 42.537257000000004,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 28.074353000000002,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 565.87233,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 36.3245,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 284.15004999999996,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 269.64480000000003,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 54.824510000000004,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 16.8,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2089.9088760000004,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 649.005918959286,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 444.8056216233036,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1406.4539729864284,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 25.13779513569018,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 7.224542162330358,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1399.7519999999997,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 1.9100000000000001,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 26.981599999999997,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 3.197911,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.840786,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 22.06141,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.62906,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 996.927,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 178.177,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 481.25,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 18.62561,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 42.3668,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 152.8121443246607,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 168.1783,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 169.63381538461542,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 129.79864,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 188.62411,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 145.298,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 109.64902000000001,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 5.6,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 87.07953650000002,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 64.9005918959286,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 105.90610038650085,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 29.92455261673252,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 139.654417420501,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 65.67765602118506,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 199.96457142857142,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0.21222222222222223,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 29.979555555555553,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 266.4925833333333,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 141.59892307692306,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 137.8838125,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 48.389230769230764,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 249.23175,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 124.17073333333335,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 35.30566666666666,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 110.26198000000002,
- hasRDI: true,
- daily: 169.63381538461542,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 25.959728,
- hasRDI: true,
- daily: 129.79864,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.42135500000000004,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 42.537257000000004,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 28.074353000000002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 565.87233,
- hasRDI: true,
- daily: 188.62411,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 529.54783,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 36.3245,
- hasRDI: true,
- daily: 145.298,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 284.15004999999996,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 269.64480000000003,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 54.824510000000004,
- hasRDI: true,
- daily: 109.64902000000001,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 16.8,
- hasRDI: true,
- daily: 5.6,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2089.9088760000004,
- hasRDI: true,
- daily: 87.07953650000002,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 649.005918959286,
- hasRDI: true,
- daily: 64.9005918959286,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 444.8056216233036,
- hasRDI: true,
- daily: 105.90610038650085,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1406.4539729864284,
- hasRDI: true,
- daily: 29.92455261673252,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 25.13779513569018,
- hasRDI: true,
- daily: 139.654417420501,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 7.224542162330358,
- hasRDI: true,
- daily: 65.67765602118506,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1399.7519999999997,
- hasRDI: true,
- daily: 199.96457142857142,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 1.9100000000000001,
- hasRDI: true,
- daily: 0.21222222222222223,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 26.981599999999997,
- hasRDI: true,
- daily: 29.979555555555553,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 3.197911,
- hasRDI: true,
- daily: 266.4925833333333,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.840786,
- hasRDI: true,
- daily: 141.59892307692306,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 22.06141,
- hasRDI: true,
- daily: 137.8838125,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.62906,
- hasRDI: true,
- daily: 48.389230769230764,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 996.927,
- hasRDI: true,
- daily: 249.23175,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 178.177,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 481.25,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 18.62561,
- hasRDI: true,
- daily: 124.17073333333335,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 42.3668,
- hasRDI: true,
- daily: 35.30566666666666,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 152.8121443246607,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/7c43fc541413fd0e5f1688b195df9573?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_5e34d2ed523eb868ade82f08d70b4720',
- label: 'Vegan Peanut Butter Cookies',
- image: 'https://www.edamam.com/web-img/4a0/4a0d3831ca63faa70490870212526a26.jpg',
- source: "Elana's Pantry",
- url: 'http://www.elanaspantry.com/vegan-peanut-butter-cookies/',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-peanut-butter-cookies-5e34d2ed523eb868ade82f08d70b4720/vegan',
- yield: 8,
- dietLabels: ['Low-Carb', 'Low-Sodium'],
- healthLabels: [
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Gluten-Free',
- 'Wheat-Free',
- 'Egg-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'FODMAP-Free',
- 'Kosher',
- ],
- cautions: ['Soy', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '1 cup blanched almond flour',
- '½ teaspoon celtic sea salt',
- '¼ teaspoon baking soda',
- '½ cup creamy roasted peanut butter',
- '¼ cup agave nectar',
- '2 tablespoons Spectrum vegan shortening',
- '1 teaspoon vanilla extract',
- ],
- ingredients: [
- {
- text: '1 cup blanched almond flour',
- weight: 112,
- foodCategory: 'grains',
- foodId: 'food_aquymekalw81cfbcaho71btv3lnt',
- image: 'https://www.edamam.com/food-img/4ce/4ce26863cf14ffeb473cc6f9edcc60f0.jpg',
- },
- {
- text: '½ teaspoon celtic sea salt',
- weight: 2.4270833334564377,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '¼ teaspoon baking soda',
- weight: 1.15,
- foodCategory: 'condiments and sauces',
- foodId: 'food_asa4cjoa3lmt8ibwdg0cpblheo69',
- image: 'https://www.edamam.com/food-img/7e5/7e55e4482cc2fde91f427fc568e6f5b8.jpeg',
- },
- {
- text: '½ cup creamy roasted peanut butter',
- weight: 129,
- foodCategory: 'plant-based protein',
- foodId: 'food_bz6b8fsbccyn3zaij72f7av8dl9m',
- image: 'https://www.edamam.com/food-img/d74/d740276ae1409472a8714b2cee88a310.jpg',
- },
- {
- text: '¼ cup agave nectar',
- weight: 83.2,
- foodCategory: 'sugar syrups',
- foodId: 'food_bj8pkd1bgey1rlbp58zagbjhpfi0',
- image: 'https://www.edamam.com/food-img/3b5/3b5425ed8e35a486b4138cc8720ae9e4.jpg',
- },
- {
- text: '2 tablespoons Spectrum vegan shortening',
- weight: 25.6,
- foodCategory: 'Oils',
- foodId: 'food_aat37lwavnxkoobjwwu8fad9n917',
- image: null,
- },
- {
- text: '1 teaspoon vanilla extract',
- weight: 4.2,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bh1wvnqaw3q7ciascfoygaabax2a',
- image: 'https://www.edamam.com/food-img/90f/90f910b0bf82750d4f6528263e014cca.jpg',
- },
- ],
- calories: 1903.3080000000002,
- totalWeight: 356.40372161102226,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['teatime'],
- dishType: ['biscuits and cookies'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1903.3080000000002,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 147.80444,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 23.57855,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 3.466734,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 44.007926,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 23.363149999999997,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 113.86800000000001,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 22.202,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 76.99940000000001,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 59.072,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 53.707820000000005,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 825.894222,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 142.62889318664534,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 217.2365372161102,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1541.8098977288819,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 3.4812972813163743,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 3.243773721611022,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 964.1892,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 0.199082,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.25167,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 16.93233,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.570238,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 112.23,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 112.23,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 0,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 13.30828,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 14.006200000000002,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 3.7998674432220443,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 95.1654,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 227.39144615384615,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 117.89275,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 37.956,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 88.808,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 107.41564,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 34.41225925,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 14.262889318664534,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 51.722985051454806,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 32.80446590912515,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 19.340540451757633,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 29.488852014645655,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 137.74131428571428,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 16.59016666666667,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 19.35923076923077,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 105.8270625,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 43.86446153846154,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 28.0575,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 88.72186666666667,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 11.671833333333334,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 147.80444,
- hasRDI: true,
- daily: 227.39144615384615,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 23.57855,
- hasRDI: true,
- daily: 117.89275,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 3.466734,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 44.007926,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 23.363149999999997,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 113.86800000000001,
- hasRDI: true,
- daily: 37.956,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 91.66600000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 22.202,
- hasRDI: true,
- daily: 88.808,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 76.99940000000001,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 59.072,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 53.707820000000005,
- hasRDI: true,
- daily: 107.41564,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 825.894222,
- hasRDI: true,
- daily: 34.41225925,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 142.62889318664534,
- hasRDI: true,
- daily: 14.262889318664534,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 217.2365372161102,
- hasRDI: true,
- daily: 51.722985051454806,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1541.8098977288819,
- hasRDI: true,
- daily: 32.80446590912515,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 3.4812972813163743,
- hasRDI: true,
- daily: 19.340540451757633,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 3.243773721611022,
- hasRDI: true,
- daily: 29.488852014645655,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 964.1892,
- hasRDI: true,
- daily: 137.74131428571428,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 0.199082,
- hasRDI: true,
- daily: 16.59016666666667,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.25167,
- hasRDI: true,
- daily: 19.35923076923077,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 16.93233,
- hasRDI: true,
- daily: 105.8270625,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.570238,
- hasRDI: true,
- daily: 43.86446153846154,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 112.23,
- hasRDI: true,
- daily: 28.0575,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 112.23,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 13.30828,
- hasRDI: true,
- daily: 88.72186666666667,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 14.006200000000002,
- hasRDI: true,
- daily: 11.671833333333334,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 3.7998674432220443,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/5e34d2ed523eb868ade82f08d70b4720?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_c605065c1f35288532c1ad312b7af40d',
- label: 'Vegan Italian Cold Cut Sandwich',
- image: 'https://www.edamam.com/web-img/525/5258c214636c54eea2e53ca19bf11273.jpeg',
- source: 'Food Network',
- url: 'https://www.foodnetwork.com/recipes/vegan-italian-cold-cut-sandwich-3373748',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-italian-cold-cut-sandwich-c605065c1f35288532c1ad312b7af40d/vegan',
- yield: 8,
- dietLabels: [],
- healthLabels: [
- 'Sugar-Conscious',
- 'Low Potassium',
- 'Kidney-Friendly',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- ],
- cautions: ['Soy', 'Sulfites'],
- ingredientLines: [
- 'One 8-ounce hoagie roll',
- '2 tablespoons vegan mayonnaise',
- '2 ounces vegan pastrami',
- '2 ounces vegan capicola',
- '2 ounces vegan pepperoni',
- '2 ounces vegan mozzarella cheese',
- '1/8 red onion, sliced thin',
- '4 thin slices tomato',
- '1/3 cup shredded lettuce',
- '2 tablespoons sweet pepper relish',
- '1/8 teaspoon salt',
- '1/4 teaspoon black pepper',
- '1/4 teaspoon oregano',
- '2 tablespoons sunflower oil',
- '2 tablespoons red wine vinegar',
- ],
- ingredients: [
- {
- text: 'One 8-ounce hoagie roll',
- weight: 226.796185,
- foodCategory: 'bread, rolls and tortillas',
- foodId: 'food_bjgi1gya7g98bva7qbz2ebwmd5we',
- image: 'https://www.edamam.com/food-img/889/889777c512071dc12fab0721bb871905.jpg',
- },
- {
- text: '2 tablespoons vegan mayonnaise',
- weight: 30,
- foodCategory: 'condiments and sauces',
- foodId: 'food_adwabpvayhkfdbaz07tv6b68sgd1',
- image: 'https://www.edamam.com/food-img/443/443b9f86c8a9ddb82d157e267212aeb6.jpg',
- },
- {
- text: '2 ounces vegan pastrami',
- weight: 56.69904625,
- foodCategory: 'cured meats',
- foodId: 'food_aygla9eaza2uk2a99v1gka2fgimf',
- image: 'https://www.edamam.com/food-img/740/740b2bb48a103bedadfceebde8d68b83.jpg',
- },
- {
- text: '2 ounces vegan pepperoni',
- weight: 56.69904625,
- foodCategory: 'Cured meats',
- foodId: 'food_al5qjzna5bpefha4cy7odah0wwt2',
- image: 'https://www.edamam.com/food-img/10b/10b28aa71cbe520aef944186f2b365b9.jpg',
- },
- {
- text: '2 ounces vegan mozzarella cheese',
- weight: 56.69904625,
- foodCategory: 'Cheese',
- foodId: 'food_bdofwyyb2xhmb1bx3uyz9broefm7',
- image: 'https://www.edamam.com/food-img/8dc/8dcc66cd29b3f5c76d55cdbe046ad860.jpg',
- },
- {
- text: '1/8 red onion, sliced thin',
- weight: 7.8125,
- foodCategory: 'vegetables',
- foodId: 'food_bmrvi4ob4binw9a5m7l07amlfcoy',
- image: 'https://www.edamam.com/food-img/205/205e6bf2399b85d34741892ef91cc603.jpg',
- },
- {
- text: '4 thin slices tomato',
- weight: 60,
- foodCategory: 'vegetables',
- foodId: 'food_a6k79rrahp8fe2b26zussa3wtkqh',
- image: 'https://www.edamam.com/food-img/23e/23e727a14f1035bdc2733bb0477efbd2.jpg',
- },
- {
- text: '1/3 cup shredded lettuce',
- weight: 18.333333333333332,
- foodCategory: 'vegetables',
- foodId: 'food_bf5fxtkbc9alwoajuvsi7amonr5w',
- image: 'https://www.edamam.com/food-img/719/71996625d0cb47e197093ecd52c97dc2.jpg',
- },
- {
- text: '2 tablespoons sweet pepper relish',
- weight: 30,
- foodCategory: 'condiments and sauces',
- foodId: 'food_bdpk447bepyyfma1ali5qbk50zqp',
- image: 'https://www.edamam.com/food-img/210/210a09427be497df1915356d63d91d8b.jpeg',
- },
- {
- text: '1/8 teaspoon salt',
- weight: 0.75,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_btxz81db72hwbra2pncvebzzzum9',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '1/4 teaspoon black pepper',
- weight: 0.725,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '1/4 teaspoon oregano',
- weight: 0.25,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bkkw6v3bdf0sqiazmzyuiax7i8jr',
- image: 'https://www.edamam.com/food-img/1b0/1b0eaffb1c261606e0d82fed8e9747a7.jpg',
- },
- {
- text: '2 tablespoons sunflower oil',
- weight: 27.2,
- foodCategory: 'Oils',
- foodId: 'food_b09yz1nbx49rv1bss5kgxat77cvn',
- image: 'https://www.edamam.com/food-img/be4/be4dba2bb618ecda2213ac422ae05289.jpg',
- },
- {
- text: '2 tablespoons red wine vinegar',
- weight: 29.8,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_ad6iyy1anmzb49a817rgnabnz8c9',
- image: 'https://www.edamam.com/food-img/dc8/dc8e998b32b8d45ba15c1b1e6711e958.jpg',
- },
- ],
- calories: 1532.7805369458335,
- totalWeight: 601.0141570833333,
- totalTime: 10,
- cuisineType: ['italian', 'american'],
- mealType: ['lunch/dinner'],
- dishType: ['sandwiches'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1532.7805369458335,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 81.72530985058333,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 18.69932802541667,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.9723624157250002,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 33.15216876575417,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 19.8992686733125,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 143.10138401720837,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 9.261632086666667,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 25.270879800458335,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 54.21951118862501,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 98.0893500125,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 3781.9051584166673,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 610.3981969416667,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 120.12281687083335,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1042.7334808333335,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 9.594453257833335,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 7.709116429166669,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 766.1600028375,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 323.8503963708333,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 10.554897842083333,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.4841201678125002,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.2519878126291668,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 15.643820314062504,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.5304476345458334,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 423.0428011583333,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 114.59998955833336,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 181.43694800000003,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 2.500427939625,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.17009713875000004,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 13.290308861375,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 77.23088479875,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 306.9766106482916,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 76.63902684729167,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 125.73124592397434,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 93.49664012708334,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 47.700461339069456,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 37.04652834666667,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 108.43902237725003,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 32.696450004166664,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 157.57938160069446,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 61.03981969416667,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 28.600670683531746,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 22.185818741134753,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 53.302518099074085,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 70.0828766287879,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 109.4514289767857,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 35.983377374537035,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 11.727664268981481,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 123.67668065104169,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 96.30675481762822,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 97.77387696289065,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 40.80366419583334,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 105.76070028958333,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 104.18449748437502,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 1.1339809250000001,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 88.60205907583332,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 64.359070665625,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 81.72530985058333,
- hasRDI: true,
- daily: 125.73124592397434,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 18.69932802541667,
- hasRDI: true,
- daily: 93.49664012708334,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.9723624157250002,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 33.15216876575417,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 19.8992686733125,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 143.10138401720837,
- hasRDI: true,
- daily: 47.700461339069456,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 133.8397519305417,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 9.261632086666667,
- hasRDI: true,
- daily: 37.04652834666667,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 25.270879800458335,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 54.21951118862501,
- hasRDI: true,
- daily: 108.43902237725003,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 98.0893500125,
- hasRDI: true,
- daily: 32.696450004166664,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 3781.9051584166673,
- hasRDI: true,
- daily: 157.57938160069446,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 610.3981969416667,
- hasRDI: true,
- daily: 61.03981969416667,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 120.12281687083335,
- hasRDI: true,
- daily: 28.600670683531746,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1042.7334808333335,
- hasRDI: true,
- daily: 22.185818741134753,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 9.594453257833335,
- hasRDI: true,
- daily: 53.302518099074085,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 7.709116429166669,
- hasRDI: true,
- daily: 70.0828766287879,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 766.1600028375,
- hasRDI: true,
- daily: 109.4514289767857,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 323.8503963708333,
- hasRDI: true,
- daily: 35.983377374537035,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 10.554897842083333,
- hasRDI: true,
- daily: 11.727664268981481,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.4841201678125002,
- hasRDI: true,
- daily: 123.67668065104169,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.2519878126291668,
- hasRDI: true,
- daily: 96.30675481762822,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 15.643820314062504,
- hasRDI: true,
- daily: 97.77387696289065,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.5304476345458334,
- hasRDI: true,
- daily: 40.80366419583334,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 423.0428011583333,
- hasRDI: true,
- daily: 105.76070028958333,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 114.59998955833336,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 181.43694800000003,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 2.500427939625,
- hasRDI: true,
- daily: 104.18449748437502,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.17009713875000004,
- hasRDI: true,
- daily: 1.1339809250000001,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 13.290308861375,
- hasRDI: true,
- daily: 88.60205907583332,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 77.23088479875,
- hasRDI: true,
- daily: 64.359070665625,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 306.9766106482916,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/c605065c1f35288532c1ad312b7af40d?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_25ad6f957a7e91ad513a9bbc9dae95f5',
- label: 'Vegan Chocolate Pie',
- image: 'https://www.edamam.com/web-img/02f/02f619a93a4f6e1789359c3b5bad6368.jpg',
- source: 'Food52',
- url: 'https://food52.com/recipes/25316-vegan-chocolate-pie',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-chocolate-pie-25ad6f957a7e91ad513a9bbc9dae95f5/vegan',
- yield: 10,
- dietLabels: [],
- healthLabels: [
- 'Vegetarian',
- 'Pescatarian',
- 'Egg-Free',
- 'Peanut-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Mustard-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Kosher',
- ],
- cautions: ['Gluten', 'Wheat', 'Tree-Nuts', 'Sulfites'],
- ingredientLines: [
- '1 12.3-ounce package of extra firm, silken tofu',
- '1 1/2 teaspoons vanilla extract',
- '3 tablespoons almond, rice, or soy milk',
- '1 pinch sea salt',
- '2 tablespoons maple syrup (or to taste)',
- '1 1/2 cups vegan dark chocolate chips (semi-sweet)',
- '1 easy vegan graham cracker crust, recipe to follow',
- '12 graham cracker sheets',
- '2 tablespoons organic brown sugar',
- '1/4 cup melted coconut oil',
- ],
- ingredients: [
- {
- text: '1 12.3-ounce package of extra firm, silken tofu',
- weight: 348.69913984474243,
- foodCategory: 'plant-based protein',
- foodId: 'food_a269ixea1yf51xbfwgnq2boiwc7x',
- image: 'https://www.edamam.com/food-img/b6a/b6ae13c3cfe37e16f820840f90231bff.jpg',
- },
- {
- text: '1 1/2 teaspoons vanilla extract',
- weight: 6.300000000000001,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_bh1wvnqaw3q7ciascfoygaabax2a',
- image: 'https://www.edamam.com/food-img/90f/90f910b0bf82750d4f6528263e014cca.jpg',
- },
- {
- text: '3 tablespoons almond, rice, or soy milk',
- weight: 36.56249999938184,
- foodCategory: 'grains',
- foodId: 'food_bpumdjzb5rtqaeabb0kbgbcgr4t9',
- image: 'https://www.edamam.com/food-img/0fc/0fc9fa8a3e0276198d75b2e259068f8a.jpg',
- },
- {
- text: '1 pinch sea salt',
- weight: 0.30338541705136723,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: '2 tablespoons maple syrup (or to taste)',
- weight: 40,
- foodCategory: 'sugars',
- foodId: 'food_bo37p69bopqshvaul0bn4bv0kqni',
- image: 'https://www.edamam.com/food-img/ced/ced25c45453a118e531c8aaf33e2ee38.jpg',
- },
- {
- text: '1 1/2 cups vegan dark chocolate chips (semi-sweet)',
- weight: 273,
- foodCategory: 'chocolate',
- foodId: 'food_afwurvlasugs4ibig02xbblph5bn',
- image: 'https://www.edamam.com/food-img/3cf/3cf0e13350f43392dc13c07d27ad145d.jpg',
- },
- {
- text: '1 easy vegan graham cracker crust, recipe to follow',
- weight: 183,
- foodCategory: 'quick breads and pastries',
- foodId: 'food_b8vrgr0brtdwj0b3m6qo0a2ychpk',
- image: 'https://www.edamam.com/food-img/50b/50b797ae3aebfd0e60bf592ca2cec80e.jpg',
- },
- {
- text: '12 graham cracker sheets',
- weight: 168,
- foodCategory: 'pastries',
- foodId: 'food_aipm8mobslonobbbkxmhbb8a4iox',
- image: 'https://www.edamam.com/food-img/448/448b5544a8ac969e88525f6bc44f5c12.jpg',
- },
- {
- text: '2 tablespoons organic brown sugar',
- weight: 18.12499999969356,
- foodCategory: 'sugars',
- foodId: 'food_aodgtqwbmeu5f6bxeffn0art3bga',
- image: 'https://www.edamam.com/food-img/8c6/8c6662bd73900645c6385b51a95d9b03.jpg',
- },
- {
- text: '1/4 cup melted coconut oil',
- weight: 54.5,
- foodCategory: 'Oils',
- foodId: 'food_b40ubq8a0enoidbcr1tmfbwgs6aw',
- image: 'https://www.edamam.com/food-img/3c9/3c97284c57e76e16093d51572b558be8.jpg',
- },
- ],
- calories: 4308.29339788793,
- totalWeight: 1128.490025260869,
- totalTime: 0,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['desserts'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 4308.29339788793,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 248.90739663152218,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 128.95955232685915,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.1743,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 77.59274957949543,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 22.841766443813725,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 453.7382654625851,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 42.08429225860267,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 185.07661983877114,
- unit: 'g',
- },
- 'SUGAR.added': {
- label: 'Sugars, added',
- quantity: 107.26157499970269,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 72.85567080324317,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 8.19,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 1857.887641722046,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 1142.5054585877147,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 884.3358405964813,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 3110.1129978026433,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 49.70500482336951,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 16.85559874612115,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 1829.0664592114583,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 5.46,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.697398279689485,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.1366462339064127,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 1.8865054581018912,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 17.243838631232965,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.8153612642887451,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 485.79471157044236,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 136.41471157044236,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 205.14,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.7644000000000001,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 7.616919913984474,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 92.48827935627382,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 334.877247318859,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 215.4146698943965,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 382.934456356188,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 644.7977616342957,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 151.24608848752837,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 168.3371690344107,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 145.71134160648634,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 2.73,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 77.41198507175191,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 114.25054585877147,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 210.55615252297173,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 66.17261697452432,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 276.13891568538617,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 153.23271587382862,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 261.29520845877977,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 0.6066666666666667,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 0.7748869774327611,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 94.72051949220106,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 145.11580446937626,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 107.77399144520604,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 62.72009725298039,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 121.44867789261059,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 31.850000000000005,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 50.77946609322983,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 77.07356613022817,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 248.90739663152218,
- hasRDI: true,
- daily: 382.934456356188,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 128.95955232685915,
- hasRDI: true,
- daily: 644.7977616342957,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.1743,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 77.59274957949543,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 22.841766443813725,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 453.7382654625851,
- hasRDI: true,
- daily: 151.24608848752837,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 411.65397320398245,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 42.08429225860267,
- hasRDI: true,
- daily: 168.3371690344107,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 185.07661983877114,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 107.26157499970269,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 72.85567080324317,
- hasRDI: true,
- daily: 145.71134160648634,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 8.19,
- hasRDI: true,
- daily: 2.73,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 1857.887641722046,
- hasRDI: true,
- daily: 77.41198507175191,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 1142.5054585877147,
- hasRDI: true,
- daily: 114.25054585877147,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 884.3358405964813,
- hasRDI: true,
- daily: 210.55615252297173,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 3110.1129978026433,
- hasRDI: true,
- daily: 66.17261697452432,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 49.70500482336951,
- hasRDI: true,
- daily: 276.13891568538617,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 16.85559874612115,
- hasRDI: true,
- daily: 153.23271587382862,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 1829.0664592114583,
- hasRDI: true,
- daily: 261.29520845877977,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 5.46,
- hasRDI: true,
- daily: 0.6066666666666667,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 0.697398279689485,
- hasRDI: true,
- daily: 0.7748869774327611,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.1366462339064127,
- hasRDI: true,
- daily: 94.72051949220106,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 1.8865054581018912,
- hasRDI: true,
- daily: 145.11580446937626,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 17.243838631232965,
- hasRDI: true,
- daily: 107.77399144520604,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.8153612642887451,
- hasRDI: true,
- daily: 62.72009725298039,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 485.79471157044236,
- hasRDI: true,
- daily: 121.44867789261059,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 136.41471157044236,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 205.14,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.7644000000000001,
- hasRDI: true,
- daily: 31.850000000000005,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 7.616919913984474,
- hasRDI: true,
- daily: 50.77946609322983,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 92.48827935627382,
- hasRDI: true,
- daily: 77.07356613022817,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 334.877247318859,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/25ad6f957a7e91ad513a9bbc9dae95f5?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- {
- recipe: {
- uri: 'http://www.edamam.com/ontologies/edamam.owl#recipe_c8be54ad2789641fd8e28f5cf86e57aa',
- label: 'Vegan Mushroom Tea Sandwiches',
- image: 'https://www.edamam.com/web-img/02e/02e0b2f027fc35439ccc3ed33cd5bf46',
- source: 'Martha Stewart',
- url: 'https://www.marthastewart.com/1526081/vegan-mushroom-tea-sandwiches',
- shareAs:
- 'http://www.edamam.com/recipe/vegan-mushroom-tea-sandwiches-c8be54ad2789641fd8e28f5cf86e57aa/vegan',
- yield: 6,
- dietLabels: [],
- healthLabels: [
- 'Sugar-Conscious',
- 'Kidney-Friendly',
- 'Vegan',
- 'Vegetarian',
- 'Pescatarian',
- 'Dairy-Free',
- 'Egg-Free',
- 'Peanut-Free',
- 'Tree-Nut-Free',
- 'Soy-Free',
- 'Fish-Free',
- 'Shellfish-Free',
- 'Pork-Free',
- 'Red-Meat-Free',
- 'Crustacean-Free',
- 'Celery-Free',
- 'Sesame-Free',
- 'Lupine-Free',
- 'Mollusk-Free',
- 'Alcohol-Free',
- 'Sulfite-Free',
- 'Kosher',
- ],
- cautions: ['Soy', 'Sulfites', 'FODMAP'],
- ingredientLines: [
- '1 tablespoon extra-virgin olive oil',
- '2 portobello mushrooms, stems and gills removed, finely chopped',
- 'Kosher salt and freshly ground pepper',
- '2 teaspoons fresh lemon juice',
- "1/2 cup vegan mayonnaise, such as Sir Kensington's",
- '2 teaspoons wasabi paste',
- '2 tablespoons finely chopped fresh chives',
- '8 slices vegan white or pumpernickel sandwich bread, or a combination',
- '1 cup arugula or micro-arugula',
- ],
- ingredients: [
- {
- text: '1 tablespoon extra-virgin olive oil',
- weight: 13.5,
- foodCategory: 'Oils',
- foodId: 'food_b1d1icuad3iktrbqby0hiagafaz7',
- image: 'https://www.edamam.com/food-img/4d6/4d651eaa8a353647746290c7a9b29d84.jpg',
- },
- {
- text: '2 portobello mushrooms, stems and gills removed, finely chopped',
- weight: 168,
- foodCategory: 'vegetables',
- foodId: 'food_bikaydza0r1y3ja1c2nxxbqnynlg',
- image: 'https://www.edamam.com/food-img/245/2457f8850f43817dfeb967825467ef1e.jpg',
- },
- {
- text: 'Kosher salt and freshly ground pepper',
- weight: 3.4505000000047423,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_a1vgrj1bs8rd1majvmd9ubz8ttkg',
- image: 'https://www.edamam.com/food-img/694/6943ea510918c6025795e8dc6e6eaaeb.jpg',
- },
- {
- text: 'Kosher salt and freshly ground pepper',
- weight: 1.7252500000023712,
- foodCategory: 'Condiments and sauces',
- foodId: 'food_b6ywzluaaxv02wad7s1r9ag4py89',
- image: 'https://www.edamam.com/food-img/c6e/c6e5c3bd8d3bc15175d9766971a4d1b2.jpg',
- },
- {
- text: '2 teaspoons fresh lemon juice',
- weight: 10.166666667182332,
- foodCategory: '100% juice',
- foodId: 'food_bglm6vxahuauteb0n6ynfbg9eryu',
- image: 'https://www.edamam.com/food-img/e31/e310952d214e78a4cb8b73f30ceeaaf2.jpg',
- },
- {
- text: "1/2 cup vegan mayonnaise, such as Sir Kensington's",
- weight: 120,
- foodCategory: 'condiments and sauces',
- foodId: 'food_adwabpvayhkfdbaz07tv6b68sgd1',
- image: 'https://www.edamam.com/food-img/443/443b9f86c8a9ddb82d157e267212aeb6.jpg',
- },
- {
- text: '2 teaspoons wasabi paste',
- weight: 5.4166666669414,
- foodCategory: 'vegetables',
- foodId: 'food_b18ctxdbw2ktnpbejotkwbnalyrj',
- image: 'https://www.edamam.com/food-img/0c6/0c67d35d19e2e49178846d3afa89ccd5.jpg',
- },
- {
- text: '2 tablespoons finely chopped fresh chives',
- weight: 6,
- foodCategory: 'vegetables',
- foodId: 'food_btg1uzjak79lawbirsitkaeai60l',
- image: 'https://www.edamam.com/food-img/f3f/f3f48643a924ba174b894e979cb48620.jpg',
- },
- {
- text: '8 slices vegan white or pumpernickel sandwich bread, or a combination',
- weight: 232,
- foodCategory: 'bread, rolls and tortillas',
- foodId: 'food_a3049hmbqj5wstaeeb3udaz6uaqv',
- image: 'https://www.edamam.com/food-img/886/886960f6ce6ccec5b9163bacf2996853.jpg',
- },
- {
- text: '1 cup arugula or micro-arugula',
- weight: 20,
- foodCategory: 'vegetables',
- foodId: 'food_a8z1kzrawhksuzav2g1irb6zf4zc',
- image: 'https://www.edamam.com/food-img/fa7/fa761a311efc0ec361a5eba4ed71870e.jpeg',
- },
- ],
- calories: 1181.4112108337522,
- totalWeight: 576.8085833341261,
- totalTime: 25,
- cuisineType: ['american'],
- mealType: ['lunch/dinner'],
- dishType: ['sandwiches'],
- totalNutrients: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 1181.4112108337522,
- unit: 'kcal',
- },
- FAT: {
- label: 'Fat',
- quantity: 60.04336815000304,
- unit: 'g',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 7.326762146666906,
- unit: 'g',
- },
- FATRN: {
- label: 'Trans',
- quantity: 0.25064,
- unit: 'g',
- },
- FAMS: {
- label: 'Monounsaturated',
- quantity: 17.615634597500048,
- unit: 'g',
- },
- FAPU: {
- label: 'Polyunsaturated',
- quantity: 25.102017995000132,
- unit: 'g',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 127.1820807084351,
- unit: 'g',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 14.143488250023577,
- unit: 'g',
- },
- SUGAR: {
- label: 'Sugars',
- quantity: 19.71944160001301,
- unit: 'g',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 36.74223680834857,
- unit: 'g',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: 'mg',
- },
- NA: {
- label: 'Sodium',
- quantity: 2128.4975500000523,
- unit: 'mg',
- },
- CA: {
- label: 'Calcium',
- quantity: 430.04119083372643,
- unit: 'mg',
- },
- MG: {
- label: 'Magnesium',
- quantity: 186.01767750022455,
- unit: 'mg',
- },
- K: {
- label: 'Potassium',
- quantity: 1257.2219058354565,
- unit: 'mg',
- },
- FE: {
- label: 'Iron',
- quantity: 9.636646775003472,
- unit: 'mg',
- },
- ZN: {
- label: 'Zinc',
- quantity: 4.37216380833807,
- unit: 'mg',
- },
- P: {
- label: 'Phosphorus',
- quantity: 607.6725616669314,
- unit: 'mg',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 39.854150833339475,
- unit: 'µg',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 13.154083333648009,
- unit: 'mg',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 1.1467991033338194,
- unit: 'mg',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 0.8882654500003947,
- unit: 'mg',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 20.865357107502536,
- unit: 'mg',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 0.57757881083433,
- unit: 'mg',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 315.3216258334863,
- unit: 'µg',
- },
- FOLFD: {
- label: 'Folate (food)',
- quantity: 236.4416258334863,
- unit: 'µg',
- },
- FOLAC: {
- label: 'Folic acid',
- quantity: 46.4,
- unit: 'µg',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 0.084,
- unit: 'µg',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 0.504,
- unit: 'µg',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 5.423442600000799,
- unit: 'mg',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 120.88123425000387,
- unit: 'µg',
- },
- WATER: {
- label: 'Water',
- quantity: 342.3218744839994,
- unit: 'g',
- },
- },
- totalDaily: {
- ENERC_KCAL: {
- label: 'Energy',
- quantity: 59.070560541687605,
- unit: '%',
- },
- FAT: {
- label: 'Fat',
- quantity: 92.37441253846622,
- unit: '%',
- },
- FASAT: {
- label: 'Saturated',
- quantity: 36.63381073333453,
- unit: '%',
- },
- CHOCDF: {
- label: 'Carbs',
- quantity: 42.394026902811696,
- unit: '%',
- },
- FIBTG: {
- label: 'Fiber',
- quantity: 56.573953000094306,
- unit: '%',
- },
- PROCNT: {
- label: 'Protein',
- quantity: 73.48447361669714,
- unit: '%',
- },
- CHOLE: {
- label: 'Cholesterol',
- quantity: 0,
- unit: '%',
- },
- NA: {
- label: 'Sodium',
- quantity: 88.68739791666886,
- unit: '%',
- },
- CA: {
- label: 'Calcium',
- quantity: 43.00411908337264,
- unit: '%',
- },
- MG: {
- label: 'Magnesium',
- quantity: 44.28992321433918,
- unit: '%',
- },
- K: {
- label: 'Potassium',
- quantity: 26.74940225181822,
- unit: '%',
- },
- FE: {
- label: 'Iron',
- quantity: 53.53692652779707,
- unit: '%',
- },
- ZN: {
- label: 'Zinc',
- quantity: 39.74694371216427,
- unit: '%',
- },
- P: {
- label: 'Phosphorus',
- quantity: 86.81036595241878,
- unit: '%',
- },
- VITA_RAE: {
- label: 'Vitamin A',
- quantity: 4.428238981482163,
- unit: '%',
- },
- VITC: {
- label: 'Vitamin C',
- quantity: 14.615648148497788,
- unit: '%',
- },
- THIA: {
- label: 'Thiamin (B1)',
- quantity: 95.56659194448495,
- unit: '%',
- },
- RIBF: {
- label: 'Riboflavin (B2)',
- quantity: 68.3281115384919,
- unit: '%',
- },
- NIA: {
- label: 'Niacin (B3)',
- quantity: 130.40848192189085,
- unit: '%',
- },
- VITB6A: {
- label: 'Vitamin B6',
- quantity: 44.42913929494846,
- unit: '%',
- },
- FOLDFE: {
- label: 'Folate equivalent (total)',
- quantity: 78.83040645837157,
- unit: '%',
- },
- VITB12: {
- label: 'Vitamin B12',
- quantity: 3.5000000000000004,
- unit: '%',
- },
- VITD: {
- label: 'Vitamin D',
- quantity: 3.36,
- unit: '%',
- },
- TOCPHA: {
- label: 'Vitamin E',
- quantity: 36.15628400000533,
- unit: '%',
- },
- VITK1: {
- label: 'Vitamin K',
- quantity: 100.73436187500323,
- unit: '%',
- },
- },
- digest: [
- {
- label: 'Fat',
- tag: 'FAT',
- schemaOrgTag: 'fatContent',
- total: 60.04336815000304,
- hasRDI: true,
- daily: 92.37441253846622,
- unit: 'g',
- sub: [
- {
- label: 'Saturated',
- tag: 'FASAT',
- schemaOrgTag: 'saturatedFatContent',
- total: 7.326762146666906,
- hasRDI: true,
- daily: 36.63381073333453,
- unit: 'g',
- },
- {
- label: 'Trans',
- tag: 'FATRN',
- schemaOrgTag: 'transFatContent',
- total: 0.25064,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Monounsaturated',
- tag: 'FAMS',
- schemaOrgTag: null,
- total: 17.615634597500048,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Polyunsaturated',
- tag: 'FAPU',
- schemaOrgTag: null,
- total: 25.102017995000132,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Carbs',
- tag: 'CHOCDF',
- schemaOrgTag: 'carbohydrateContent',
- total: 127.1820807084351,
- hasRDI: true,
- daily: 42.394026902811696,
- unit: 'g',
- sub: [
- {
- label: 'Carbs (net)',
- tag: 'CHOCDF.net',
- schemaOrgTag: null,
- total: 113.03859245841151,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Fiber',
- tag: 'FIBTG',
- schemaOrgTag: 'fiberContent',
- total: 14.143488250023577,
- hasRDI: true,
- daily: 56.573953000094306,
- unit: 'g',
- },
- {
- label: 'Sugars',
- tag: 'SUGAR',
- schemaOrgTag: 'sugarContent',
- total: 19.71944160001301,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Sugars, added',
- tag: 'SUGAR.added',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- {
- label: 'Protein',
- tag: 'PROCNT',
- schemaOrgTag: 'proteinContent',
- total: 36.74223680834857,
- hasRDI: true,
- daily: 73.48447361669714,
- unit: 'g',
- },
- {
- label: 'Cholesterol',
- tag: 'CHOLE',
- schemaOrgTag: 'cholesterolContent',
- total: 0,
- hasRDI: true,
- daily: 0,
- unit: 'mg',
- },
- {
- label: 'Sodium',
- tag: 'NA',
- schemaOrgTag: 'sodiumContent',
- total: 2128.4975500000523,
- hasRDI: true,
- daily: 88.68739791666886,
- unit: 'mg',
- },
- {
- label: 'Calcium',
- tag: 'CA',
- schemaOrgTag: null,
- total: 430.04119083372643,
- hasRDI: true,
- daily: 43.00411908337264,
- unit: 'mg',
- },
- {
- label: 'Magnesium',
- tag: 'MG',
- schemaOrgTag: null,
- total: 186.01767750022455,
- hasRDI: true,
- daily: 44.28992321433918,
- unit: 'mg',
- },
- {
- label: 'Potassium',
- tag: 'K',
- schemaOrgTag: null,
- total: 1257.2219058354565,
- hasRDI: true,
- daily: 26.74940225181822,
- unit: 'mg',
- },
- {
- label: 'Iron',
- tag: 'FE',
- schemaOrgTag: null,
- total: 9.636646775003472,
- hasRDI: true,
- daily: 53.53692652779707,
- unit: 'mg',
- },
- {
- label: 'Zinc',
- tag: 'ZN',
- schemaOrgTag: null,
- total: 4.37216380833807,
- hasRDI: true,
- daily: 39.74694371216427,
- unit: 'mg',
- },
- {
- label: 'Phosphorus',
- tag: 'P',
- schemaOrgTag: null,
- total: 607.6725616669314,
- hasRDI: true,
- daily: 86.81036595241878,
- unit: 'mg',
- },
- {
- label: 'Vitamin A',
- tag: 'VITA_RAE',
- schemaOrgTag: null,
- total: 39.854150833339475,
- hasRDI: true,
- daily: 4.428238981482163,
- unit: 'µg',
- },
- {
- label: 'Vitamin C',
- tag: 'VITC',
- schemaOrgTag: null,
- total: 13.154083333648009,
- hasRDI: true,
- daily: 14.615648148497788,
- unit: 'mg',
- },
- {
- label: 'Thiamin (B1)',
- tag: 'THIA',
- schemaOrgTag: null,
- total: 1.1467991033338194,
- hasRDI: true,
- daily: 95.56659194448495,
- unit: 'mg',
- },
- {
- label: 'Riboflavin (B2)',
- tag: 'RIBF',
- schemaOrgTag: null,
- total: 0.8882654500003947,
- hasRDI: true,
- daily: 68.3281115384919,
- unit: 'mg',
- },
- {
- label: 'Niacin (B3)',
- tag: 'NIA',
- schemaOrgTag: null,
- total: 20.865357107502536,
- hasRDI: true,
- daily: 130.40848192189085,
- unit: 'mg',
- },
- {
- label: 'Vitamin B6',
- tag: 'VITB6A',
- schemaOrgTag: null,
- total: 0.57757881083433,
- hasRDI: true,
- daily: 44.42913929494846,
- unit: 'mg',
- },
- {
- label: 'Folate equivalent (total)',
- tag: 'FOLDFE',
- schemaOrgTag: null,
- total: 315.3216258334863,
- hasRDI: true,
- daily: 78.83040645837157,
- unit: 'µg',
- },
- {
- label: 'Folate (food)',
- tag: 'FOLFD',
- schemaOrgTag: null,
- total: 236.4416258334863,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Folic acid',
- tag: 'FOLAC',
- schemaOrgTag: null,
- total: 46.4,
- hasRDI: false,
- daily: 0,
- unit: 'µg',
- },
- {
- label: 'Vitamin B12',
- tag: 'VITB12',
- schemaOrgTag: null,
- total: 0.084,
- hasRDI: true,
- daily: 3.5000000000000004,
- unit: 'µg',
- },
- {
- label: 'Vitamin D',
- tag: 'VITD',
- schemaOrgTag: null,
- total: 0.504,
- hasRDI: true,
- daily: 3.36,
- unit: 'µg',
- },
- {
- label: 'Vitamin E',
- tag: 'TOCPHA',
- schemaOrgTag: null,
- total: 5.423442600000799,
- hasRDI: true,
- daily: 36.15628400000533,
- unit: 'mg',
- },
- {
- label: 'Vitamin K',
- tag: 'VITK1',
- schemaOrgTag: null,
- total: 120.88123425000387,
- hasRDI: true,
- daily: 100.73436187500323,
- unit: 'µg',
- },
- {
- label: 'Sugar alcohols',
- tag: 'Sugar.alcohol',
- schemaOrgTag: null,
- total: 0,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- {
- label: 'Water',
- tag: 'WATER',
- schemaOrgTag: null,
- total: 342.3218744839994,
- hasRDI: false,
- daily: 0,
- unit: 'g',
- },
- ],
- },
- _links: {
- self: {
- href: 'https://api.edamam.com/api/recipes/v2/c8be54ad2789641fd8e28f5cf86e57aa?type=public&app_id=ea1d37d5&app_key=fd382a172ba8d6668c0430dc9c14a181',
- title: 'Self',
- },
- },
- },
- ],
-};
-
-export const recipes = {
- chicken: chickenRecipes,
- beef: beefRecipes,
- fish: fishRecipes,
- salad: saladRecipes,
- fruit: fruitRecipes,
- vegan: veganRecipes,
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/store/BookmarkStore.js b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/store/BookmarkStore.js
deleted file mode 100644
index ae15302..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/store/BookmarkStore.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Store } from 'pullstate';
-
-const BookmarkStore = new Store({
- recipes: [],
-});
-
-export default BookmarkStore;
-
-export const addToBookmarks = (passedRecipe) => {
- const currentBookmarks = BookmarkStore.getRawState().recipes;
- const added = !currentBookmarks.includes(passedRecipe);
-
- BookmarkStore.update((s) => {
- if (currentBookmarks.includes(passedRecipe)) {
- s.recipes = currentBookmarks.filter((bookmark) => bookmark !== passedRecipe);
- } else {
- s.recipes = [...s.recipes, passedRecipe];
- }
- });
-
- return added;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/store/Selectors.js
deleted file mode 100644
index 9af753d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/store/Selectors.js
+++ /dev/null
@@ -1,6 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getBookmarks = createSelector(getState, (state) => state.recipes);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/store/index.js
deleted file mode 100644
index c78ebb7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/store/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as BookmarkStore } from './BookmarkStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/style.scss b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/style.scss
deleted file mode 100644
index bd2dd35..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/style.scss
+++ /dev/null
@@ -1,137 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-
-.demo-recipe-app {
- * {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-
- --ion-color-main: #1bad64;
- --ion-color-main-rgb: 27, 173, 100;
- --ion-color-main-contrast: #ffffff;
- --ion-color-main-contrast-rgb: 255, 255, 255;
- --ion-color-main-shade: #189858;
- --ion-color-main-tint: #32b574;
-
- --ion-background-color: white;
- --ion-tab-bar-background: rgb(36, 36, 36);
- --ion-toolbar-background: rgb(36, 36, 36);
- --ion-tab-bar-color-selected: rgb(27, 173, 100);
- --ion-tab-bar-color: rgb(97, 97, 97);
- }
-
- .ion-color-main {
- --ion-color-base: var(--ion-color-main);
- --ion-color-base-rgb: var(--ion-color-main-rgb);
- --ion-color-contrast: var(--ion-color-main-contrast);
- --ion-color-contrast-rgb: var(--ion-color-main-contrast-rgb);
- --ion-color-shade: var(--ion-color-main-shade);
- --ion-color-tint: var(--ion-color-main-tint);
- }
-
- ion-toolbar ion-title {
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button {
- --color: rgb(27, 173, 100);
- }
-
- ion-content ion-toolbar ion-title {
- color: rgb(36, 36, 36);
- }
-
- * {
- font-family: 'Ubuntu', sans-serif;
- }
-
- ion-toolbar {
- --border-style: none;
- }
-
- .customLoader {
- --background: var(--ion-toolbar-background);
- --spinner-color: var(--ion-tab-bar-color-selected);
- color: white;
- }
-
- .customModal {
- --background: var(--ion-toolbar-background);
- }
-
- a {
- text-decoration: none;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/theme/variables.css
deleted file mode 100644
index b8e62f8..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/theme/variables.css
+++ /dev/null
@@ -1,141 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-:root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-
- --ion-color-main: #1BAD64;
- --ion-color-main-rgb: 27,173,100;
- --ion-color-main-contrast: #ffffff;
- --ion-color-main-contrast-rgb: 255,255,255;
- --ion-color-main-shade: #189858;
- --ion-color-main-tint: #32b574;
-
- --ion-background-color: white;
- --ion-tab-bar-background: rgb(36, 36, 36);
- --ion-toolbar-background: rgb(36, 36, 36);
- --ion-tab-bar-color-selected: rgb(27, 173, 100);
- --ion-tab-bar-color: rgb(97, 97, 97);
-}
-
-.ion-color-main {
- --ion-color-base: var(--ion-color-main);
- --ion-color-base-rgb: var(--ion-color-main-rgb);
- --ion-color-contrast: var(--ion-color-main-contrast);
- --ion-color-contrast-rgb: var(--ion-color-main-contrast-rgb);
- --ion-color-shade: var(--ion-color-main-shade);
- --ion-color-tint: var(--ion-color-main-tint);
-}
-
-ion-toolbar ion-title {
-
- --color: white;
-}
-
-ion-toolbar ion-back-button,
-ion-toolbar ion-button {
-
- --color: rgb(27, 173, 100);
-}
-
-ion-content ion-toolbar ion-title {
-
- color: rgb(36, 36, 36);
-}
-
-* {
-
- font-family: 'Ubuntu', sans-serif;
-}
-
-ion-toolbar {
- --border-style: none;
-}
-
-.customLoader {
-
- --background: var(--ion-toolbar-background);
- --spinner-color: var(--ion-tab-bar-color-selected);
- color: white;
-}
-
-.customModal {
-
- --background: var(--ion-toolbar-background);
-}
-
-a {
-
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/utils.js b/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/utils.js
deleted file mode 100644
index 8e6acf3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRecipeApp/utils.js
+++ /dev/null
@@ -1,10 +0,0 @@
-const APP_ID = 'ea1d37d5';
-const APP_KEY = 'fd382a172ba8d6668c0430dc9c14a181';
-
-export const performSearch = async (searchTerm) => {
- const response = await fetch(
- `https://api.edamam.com/api/recipes/v2?type=public&q=${searchTerm}&app_id=${APP_ID}&app_key=${APP_KEY}`
- );
- const data = await response.json();
- return data;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab1.jsx
deleted file mode 100644
index 1f1063f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,244 +0,0 @@
-import {
- IonContent,
- IonFab,
- IonFabButton,
- IonHeader,
- IonIcon,
- IonModal,
- IonPage,
- IonSearchbar,
- IonToolbar,
- isPlatform,
- useIonViewWillEnter,
-} from '@ionic/react';
-import { useEffect, useState } from 'react';
-import { getRecords } from '../main/yelp';
-
-import styles from '../styles/Map.module.scss';
-
-import { Map, Marker, Overlay } from 'pigeon-maps';
-import { maptiler } from 'pigeon-maps/providers';
-
-import { MapOverlay } from '../components/MapOverlay';
-import { CurrentPointOverlay } from '../components/CurrentPointOverlay';
-import { flashOffOutline, flashOutline, list } from 'ionicons/icons';
-
-import RecordsStore from '../store/RecordsStore';
-import { fetchRecords } from '../store/Selectors';
-import { getLocation } from '../main/utils';
-import { ListModal } from '../components/ListModal';
-
-const maptilerProvider = maptiler('d5JQJPLLuap8TkJJlTdJ', 'streets');
-
-const Tab1 = () => {
- const web = isPlatform('web' || 'pwa' || 'mobileweb' || '');
-
- // UNCOMMENT THESE TO USE CURRENT LOCATION.
-
- // const [ currentPoint, setCurrentPoint ] = useState(false);
-
- // useEffect(() => {
-
- // const getCurrentLocation = async () => {
-
- // const fetchedLocation = await getLocation();
- // setCurrentPoint(fetchedLocation.currentLocation);
- // }
-
- // getCurrentLocation();
- // }, []);
-
- useIonViewWillEnter(() => {
- getRecords(currentPoint);
- });
-
- const [currentPoint, setCurrentPoint] = useState({
- latitude: 40.8264691,
- longitude: -73.9549618,
- });
-
- const [showCurrentPointInfo, setShowCurrentPointInfo] = useState(false);
-
- const records = RecordsStore.useState(fetchRecords);
- const center = RecordsStore.useState((s) => s.center);
-
- const [results, setResults] = useState(false);
- const [zoom, setZoom] = useState(14);
-
- const [searchTerm, setSearchTerm] = useState('');
- const [moveMode, setMoveMode] = useState(false);
-
- const [showListModal, setShowListModal] = useState(false);
-
- useEffect(() => {
- const getData = async () => {
- await getRecords(currentPoint);
- };
-
- getData();
- }, [currentPoint]);
-
- useEffect(() => {
- setResults([...records]);
- }, [records]);
-
- useEffect(() => {
- const search = searchTerm.toLowerCase();
- var searchResults = [];
-
- if (searchTerm !== '') {
- records.forEach((record) => {
- if (record.name.toLowerCase().includes(search)) {
- searchResults.push(record);
- }
- });
-
- setResults(searchResults);
- } else {
- setResults([...records]);
- }
- }, [searchTerm]);
-
- const showMarkerInfo = (e, index) => {
- const tempRecords = JSON.parse(JSON.stringify(results));
-
- // Hide all current marker infos
- setShowCurrentPointInfo(false);
- !tempRecords[index].showInfo &&
- tempRecords.forEach((tempRecord) => (tempRecord.showInfo = false));
- tempRecords[index].showInfo = !tempRecords[index].showInfo;
-
- setResults(tempRecords);
- };
-
- const hideMarkers = () => {
- const tempRecords = JSON.parse(JSON.stringify(results));
- tempRecords.forEach((tempRecord) => (tempRecord.showInfo = false));
- setResults(tempRecords);
- setShowCurrentPointInfo(false);
- };
-
- const handleMapClick = (e) => {
- const clickedPoint = e.latLng;
- setCurrentPoint({ latitude: clickedPoint[0], longitude: clickedPoint[1] });
- setMoveMode(false);
- };
-
- const handleShowCurrentPointInfo = () => {
- hideMarkers();
- setShowCurrentPointInfo(!showCurrentPointInfo);
- };
-
- return (
-
-
- {center && center.latitude && center.longitude && results && (
- <>
-
- setSearchTerm(e.target.value)}
- />
-
-
- (moveMode ? handleMapClick(e) : hideMarkers(e))}
- defaultCenter={[center.latitude, center.longitude]}
- defaultZoom={zoom}
- provider={maptilerProvider}
- touchEvents={true}
- >
-
-
- {results.map((record, index) => {
- return (
- showMarkerInfo(e, index)}
- key={index}
- color="#3578e5"
- width={50}
- anchor={[record.latitude, record.longitude]}
- />
- );
- })}
-
- {results.map((record, index) => {
- if (record.showInfo) {
- return (
-
-
-
- );
- }
- })}
-
- {showCurrentPointInfo && (
-
-
-
- )}
-
-
- setMoveMode(!moveMode)}
- >
-
-
-
-
-
- setShowListModal(!showListModal)}
- >
-
-
-
-
-
- setShowListModal(false)}
- swipeToClose={true}
- initialBreakpoint={0.6}
- breakpoints={[0, 0.6, 1]}
- backdropBreakpoint={0.6}
- >
- setShowListModal(false)}
- searchTerm={searchTerm}
- search={setSearchTerm}
- records={results}
- />
-
- >
- )}
-
-
- );
-};
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab2.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab2.jsx
deleted file mode 100644
index 11e1c59..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,80 +0,0 @@
-import {
- IonButton,
- IonCard,
- IonCardHeader,
- IonCardSubtitle,
- IonContent,
- IonHeader,
- IonIcon,
- IonNote,
- IonPage,
- IonRow,
- IonText,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { arrowForward, navigateOutline } from 'ionicons/icons';
-import { RatingStar } from '../components/RatingStar';
-import RecordsStore from '../store/RecordsStore';
-import { fetchRecords } from '../store/Selectors';
-
-import styles from '../styles/ViewAll.module.scss';
-
-const Tab2 = () => {
- const records = RecordsStore.useState(fetchRecords);
-
- return (
-
-
-
- All places in your location
-
-
-
-
-
- Feeling hungry?
-
-
-
- {records.map((record, index) => {
- const imageURL = record.imageURL ? record.imageURL : '/placeholder.jpeg';
- const rating = Math.floor(record.rating).toFixed(0);
-
- return (
-
-
-
- {Array.apply(null, { length: 5 }).map((e, i) => (
- i} />
- ))}
-
- {record.name}
- {record.displayAddress}
-
-
-
-
-
- {record.distance} miles away
-
-
-
-
-
-
-
-
-
- );
- })}
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab3.css b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab3.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab3.jsx b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab3.jsx
deleted file mode 100644
index 903b1a0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/Tab3.jsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab3.css';
-
-const Tab3 = () => {
- return (
-
-
-
- Tab 3
-
-
-
-
-
- Tab 3
-
-
-
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/ViewPlace.jsx b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/ViewPlace.jsx
deleted file mode 100644
index 8fef166..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/AppPages/ViewPlace.jsx
+++ /dev/null
@@ -1,232 +0,0 @@
-import {
- IonAvatar,
- IonBackButton,
- IonBadge,
- IonButton,
- IonButtons,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonNote,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonLoading,
- useIonModal,
- useIonViewWillEnter,
-} from '@ionic/react';
-import { callOutline } from 'ionicons/icons';
-import { Map, Marker } from 'pigeon-maps';
-import { useState } from 'react';
-import { useParams } from 'react-router';
-import { RatingStar } from '../components/RatingStar';
-import { getRecord } from '../main/yelp';
-import { RecordsStore } from '../store';
-import { fetchRecord } from '../store/Selectors';
-
-import styles from '../styles/ViewPlace.module.scss';
-
-import { maptiler } from 'pigeon-maps/providers';
-import { useRef } from 'react';
-const maptilerProvider = maptiler('d5JQJPLLuap8TkJJlTdJ', 'streets');
-
-const ViewPlace = ({}) => {
- const pageRef = useRef(null);
- const [present, dismiss] = useIonLoading();
- const { id } = useParams();
- const record = RecordsStore.useState(fetchRecord(id));
- const [extendedRecord, setExtendedRecord] = useState(false);
-
- const MapView = () => (
-
-
-
-
- Close
-
- Map View
-
-
-
-
-
-
-
- );
-
- useIonViewWillEnter(() => {
- const getData = async () => {
- const extendedData = await getRecord(id);
- setExtendedRecord(extendedData);
- dismiss();
- };
-
- present('Fetching extended details...');
- getData();
- });
-
- const imageURL = record.imageURL ? record.imageURL : '/placeholder.jpeg';
- const rating = Math.floor(record.rating).toFixed(0);
-
- const [presentModal, dismissModal] = useIonModal(MapView);
-
- return (
-
-
-
-
-
-
- {record.distance} miles away
-
-
-
-
-
-
-
-
-
- {record.name}
-
-
- {Array.apply(null, { length: 5 }).map((e, i) => (
- i} small={true} />
- ))}
-
-
- {record.distance} miles away
-
-
-
-
-
-
-
-
-
-
- {extendedRecord.categories &&
- extendedRecord.categories.length > 0 &&
- extendedRecord.categories.map((category, index) => {
- return (
-
-
- {category.title}
-
-
- );
- })}
-
-
-
-
- View on Yelp →
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- presentModal({
- swipetoClose: true,
- presentingElement: pageRef.current,
- })
- }
- >
- View on map
-
-
-
-
- {extendedRecord.photos && extendedRecord.photos.length > 0 && (
-
-
- Photos ({extendedRecord.photos.length})
-
-
- )}
-
-
- {extendedRecord.photos &&
- extendedRecord.photos.length > 0 &&
- extendedRecord.photos.map((photo, index) => {
- if (index < 3) {
- return (
-
-
-
- );
- }
- })}
-
-
- {extendedRecord.reviews && extendedRecord.reviews.length > 0 && (
-
-
- Reviews ({extendedRecord.reviews.length})
-
-
- )}
-
-
- {extendedRecord.reviews &&
- extendedRecord.reviews.length > 0 &&
- extendedRecord.reviews.map((review, index) => {
- return (
-
-
-
-
-
-
-
- {review.user.name}
-
- Full review on Yelp →
-
- {review.text}
-
-
-
- );
- })}
-
-
-
-
- );
-};
-
-export default ViewPlace;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/NOTES.md
deleted file mode 100644
index 209f7e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0163
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/CurrentPointOverlay.jsx b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/CurrentPointOverlay.jsx
deleted file mode 100644
index aa4133a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/CurrentPointOverlay.jsx
+++ /dev/null
@@ -1,12 +0,0 @@
-import { IonCardSubtitle, IonNote } from '@ionic/react';
-import styles from '../styles/MapOverlay.module.scss';
-
-export const CurrentPointOverlay = () => (
-
- Current Location
-
- Click on the lightning button then choose a new point on the map to view places around that
- point.
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/ExploreContainer.jsx b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/ExploreContainer.jsx
deleted file mode 100644
index 799b82a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/ExploreContainer.jsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import './ExploreContainer.css';
-
-const ExploreContainer = ({ name }) => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/ListModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/ListModal.jsx
deleted file mode 100644
index 161c0ad..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/ListModal.jsx
+++ /dev/null
@@ -1,72 +0,0 @@
-import {
- IonButton,
- IonCard,
- IonCardHeader,
- IonCardSubtitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSearchbar,
- IonText,
-} from '@ionic/react';
-import { RatingStar } from './RatingStar';
-
-import styles from '../styles/ViewAll.module.scss';
-import { arrowForward, navigateOutline } from 'ionicons/icons';
-
-export const ListModal = ({ records, searchTerm, search, hideModal }) => {
- return (
-
-
-
- search(e.target.value)}
- />
-
-
-
-
-
- {records.map((record, index) => {
- const rating = Math.floor(record.rating).toFixed(0);
-
- return (
-
-
- {Array.apply(null, { length: 5 }).map((e, i) => (
- i} />
- ))}
-
- {record.name}
- {record.displayAddress}
-
-
-
-
-
- {record.distance} miles away
-
-
-
-
-
-
-
-
-
- );
- })}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/MapOverlay.jsx b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/MapOverlay.jsx
deleted file mode 100644
index d5ec908..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/MapOverlay.jsx
+++ /dev/null
@@ -1,71 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonCardSubtitle,
- IonCol,
- IonIcon,
- IonNote,
- IonRow,
-} from '@ionic/react';
-import {
- arrowForward,
- call,
- callOutline,
- navigateOutline,
- phoneLandscapeOutline,
- phonePortraitOutline,
- pricetag,
- pricetags,
- pricetagsOutline,
-} from 'ionicons/icons';
-import styles from '../styles/MapOverlay.module.scss';
-
-export const MapOverlay = ({ record }) => (
-
-
{record.name}
-
{record.displayAddress}
-
{record.rating} star rating
-
-
-
- {record.distance} miles away
-
-
- {record.phone && (
-
-
- {record.phone}
-
- )}
-
-
-
-
- View →
-
-
-
-
-
- {record.phone && (
-
-
-
-
-
- )}
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/RatingStar.jsx b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/RatingStar.jsx
deleted file mode 100644
index 0f43670..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/components/RatingStar.jsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import { IonIcon } from '@ionic/react';
-import { star, starOutline } from 'ionicons/icons';
-import styles from '../styles/RatingStar.module.scss';
-
-export const RatingStar = ({ rated = false, small = false }) => (
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/index.tsx
deleted file mode 100644
index 0be5edd..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/index.tsx
+++ /dev/null
@@ -1,45 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, listOutline, mapOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-import ViewPlace from './AppPages/ViewPlace';
-
-import './style.scss';
-
-function DemoRestaurantFinder() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoRestaurantFinder;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/main/utils.js b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/main/utils.js
deleted file mode 100644
index 7108ab2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/main/utils.js
+++ /dev/null
@@ -1,32 +0,0 @@
-import { Geolocation } from '@capacitor/geolocation';
-import { Capacitor } from '@capacitor/core';
-const platform = Capacitor.getPlatform();
-
-export const getLocation = async () => {
- const permission = await Geolocation.checkPermissions();
- var coordinates;
-
- if (permission.location === 'granted') {
- var options = {
- enableHighAccuracy: true,
- timeout: 10000,
- maximumAge: Infinity,
- };
-
- coordinates = await Geolocation.getCurrentPosition(options);
- } else {
- if (platform === 'web') {
- console.log('Permission Denied.');
- } else {
- await Geolocation.requestPermissions();
- coordinates = await Geolocation.getCurrentPosition(options);
- }
- }
-
- return {
- currentLocation: {
- latitude: coordinates.coords.latitude,
- longitude: coordinates.coords.longitude,
- },
- };
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/main/yelp.js b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/main/yelp.js
deleted file mode 100644
index 5c4ecfd..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/main/yelp.js
+++ /dev/null
@@ -1,33 +0,0 @@
-import { setStore } from '../store/RecordsStore';
-
-export const getRecords = async (currentPoint) => {
- // Replace lat/long with values from get current location.
- // Allow choosing of radius?
- // Offset could = amount loaded in an infinite scroll?
- var latitude = currentPoint.latitude,
- longitude = currentPoint.longitude,
- radius = 1000,
- offset = 0;
- const response = await fetch(
- `http://localhost:4000/get-records?latitude=${latitude}&longitude=${longitude}&radius=${radius}&offset=${offset}`
- );
- const data = await response.json();
- setStore(data);
-};
-
-export const getRecord = async (recordId) => {
- const response = await fetch(`http://localhost:4000/get-record?id=${recordId}`);
- const data = await response.json();
-
- const response2 = await fetch(`http://localhost:4000/get-reviews?id=${recordId}`);
- const data2 = await response2.json();
-
- data.reviews = data2.reviews;
- return data;
-};
-
-export const getCategories = async () => {
- const response = await fetch(`http://localhost:4000/get-categories`);
- const data = await response.json();
- return data;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/server.js b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/server.js
deleted file mode 100644
index 2e0d4ff..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/server.js
+++ /dev/null
@@ -1,152 +0,0 @@
-const axios = require('axios');
-const express = require('express');
-const app = express();
-var session = require('express-session');
-var cors = require('cors');
-
-// Use session
-app.use(
- session({
- secret: 'Ionic Rocks!',
- cookie: { maxAge: 86400000 },
- resave: true,
- saveUninitialized: true,
- })
-);
-app.use(cors({ origin: '*' }));
-
-app.listen(process.env.PORT || 4000, function () {
- console.log('server is running...');
-});
-
-// DON'T LEAVE THIS API KEY IN YOUR PRODUCTION APPS
-// This is a test account of mine, so i've left this in for demo purposes.
-// Secure your nodejs server and API key when building real things!
-let API_KEY =
- 'd02MG5N6GCJ0Y6GN5OHYCIW7XBHCbuu0O0w6sxtZmHMuhn-tgvOK1NaFIgST-4r8E3CQp6APMNMjKs0sZV3UHtQO-e32ysCBY-3nGqxJGsvjTCZ_eEM5jE14H-XuYHYx';
-
-// REST API for Yelp
-let yelpAPI = axios.create({
- baseURL: 'https://api.yelp.com/v3/',
- headers: {
- Authorization: `Bearer ${API_KEY}`,
- 'Content-type': 'application/json',
- },
-});
-
-app.get('/get-record', function (req, res) {
- const { id } = req.query;
-
- yelpAPI(`/businesses/${id}`).then(({ data }) => {
- res.send(JSON.stringify(data));
- });
-});
-
-app.get('/get-reviews', function (req, res) {
- const { id } = req.query;
-
- yelpAPI(`/businesses/${id}/reviews`).then(({ data }) => {
- res.send(JSON.stringify(data));
- });
-});
-
-app.get('/get-categories', function (req, res) {
- yelpAPI('/categories').then(({ data }) => {
- res.send(JSON.stringify(data));
- });
-});
-
-app.get('/get-records', function (req, res) {
- const { latitude, longitude, radius } = req.query;
- const categories = 'restaurant,takeaway';
-
- const params = {
- latitude,
- longitude,
- radius,
- categories,
- };
-
- yelpAPI('/businesses/search', { params: params }).then(({ data }) => {
- const allRecords = parseDetails(data);
- res.send(JSON.stringify({ allRecords, center: data.region.center }));
- });
-});
-
-const parseDetails = (info) => {
- console.log('Parsing details...');
- var records = [];
-
- var parsedInfo = info;
- var businesses = parsedInfo.businesses;
- var total = parsedInfo.total;
-
- var distance = 0;
- var distanceMiles = 0;
-
- for (var i = 0; i < businesses.length; i++) {
- var id = businesses[i].id;
- var url = businesses[i].url;
- var imageURL = businesses[i].image_url;
- var name = businesses[i].name;
- var alias = businesses[i].alias;
- var phone = businesses[i].display_phone;
- var price = businesses[i].price;
- var rating = businesses[i].rating;
-
- var isClosed = businesses[i].is_closed;
- var isOpen = isClosed == true ? false : true;
-
- var coordinates = businesses[i].coordinates;
- var latitude = coordinates.latitude;
- var longitude = coordinates.longitude;
-
- var displayAddress = '';
-
- if (businesses[i].location) {
- var addressDetails = businesses[i].location;
-
- if (addressDetails.display_address) {
- var displayAddressArr = addressDetails.display_address;
-
- if (Array.isArray(displayAddressArr)) {
- for (var j = 0; j < displayAddressArr.length; j++) {
- var displayAddressPart = displayAddressArr[j];
- displayAddress = displayAddress + displayAddressPart;
-
- if (j != displayAddressArr.length - 1) {
- displayAddress = displayAddress + ', ';
- }
- }
- } else {
- displayAddress = displayAddressArr;
- }
- }
- }
-
- if (businesses[i].distance) {
- var distance = businesses[i].distance;
- var distanceMiles = (distance * 0.000621371192).toFixed(2);
- }
-
- if (isClosed != true) {
- records.push({
- id,
- alias,
- url,
- imageURL,
- name,
- phone,
- price,
- rating,
- latitude,
- longitude,
- displayAddress,
- isOpen,
- distance: distanceMiles,
- });
- }
- }
-
- return records;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/store/RecordsStore.js b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/store/RecordsStore.js
deleted file mode 100644
index 162f3c0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/store/RecordsStore.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import { Store } from 'pullstate';
-
-const RecordsStore = new Store({
- records: [],
- center: [],
-});
-
-export default RecordsStore;
-
-export const setStore = (records) => {
- RecordsStore.update((state) => {
- state.records = records.allRecords;
- });
- RecordsStore.update((state) => {
- state.center = records.center;
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/store/Selectors.js
deleted file mode 100644
index 8371dda..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/store/Selectors.js
+++ /dev/null
@@ -1,15 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const fetchRecords = createSelector(getState, (state) => state.records);
-
-// More specific getters
-export const fetchRecord = (recordId) =>
- createSelector(getState, (state) => {
- return state.records.filter((record) => record.id === recordId)[0];
- });
-// export const getPoll = pollId => createSelector(getState, state => state.polls.filter(poll => poll.id === parseInt(pollId))[0]);
-// export const getChat = contactId => createSelector(getState, state => state.chats.filter(c => parseInt(c.contact_id) === parseInt(contactId))[0].chats);
-// export const getContact = contactId => createSelector(getState, state => state.contacts.filter(c => parseInt(c.id) === parseInt(contactId))[0]);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/store/index.js
deleted file mode 100644
index 330d178..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/store/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as RecordsStore } from './RecordsStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/style.scss b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/Map.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/Map.module.scss
deleted file mode 100644
index 0e5583f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/Map.module.scss
+++ /dev/null
@@ -1,19 +0,0 @@
-.overlaySearch {
-
- position: absolute;
- z-index: 2;
- background-color: white;
- width: 70%;
- height: 3rem;
- margin: 0 auto;
- margin-left: 14%;
-
- border-radius: 10px;
- box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
-
- display: flex;
- flex-direction: row;
- justify-content: center;
- align-content: center;
- align-items: center;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/MapOverlay.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/MapOverlay.module.scss
deleted file mode 100644
index 5baa178..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/MapOverlay.module.scss
+++ /dev/null
@@ -1,60 +0,0 @@
-.overlayContainer {
-
- display: flex;
- flex-direction: column;
- // align-items: center;
- // align-content: center;
-
- padding: 1rem;
-
- width: 12rem;
- height: fit-content;
- background-color: white;
-
- border-radius: 5px;
-
- box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
-
- ion-card-subtitle {
-
- font-size: 0.7rem;
- color: black;
- }
-
- ion-note {
-
- font-size: 0.6rem;
- margin-bottom: 0.5rem;
- }
-
- ion-badge {
-
- margin-bottom: 1.5rem;
- }
-
- p {
-
- padding: 0;
- margin: 0;
- margin-bottom: 0.3rem;
- font-size: 0.6rem;
- display: flex;
- flex-direction: row;
- align-items: center;
- align-content: center;
- }
-}
-
-.overlayContainer:after {
-
- content:'';
- position: absolute;
- top: 100%;
- left: 70%;
- margin-left: -50px;
- width: 0;
- height: 0;
- border-top: solid 10px white;
- border-left: solid 10px transparent;
- border-right: solid 10px transparent;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/RatingStar.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/RatingStar.module.scss
deleted file mode 100644
index bd1a303..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/RatingStar.module.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-.star {
-
- background-color: var(--ion-color-primary);
- padding: 0.2rem;
- margin-right: 0.1rem;
- border-radius: 4px;
- color: white;
-}
-
-.outlineStar {
-
- background-color: rgb(216, 216, 216);
- color: white;
- padding: 0.2rem;
- margin-right: 0.1rem;
- border-radius: 4px;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/ViewAll.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/ViewAll.module.scss
deleted file mode 100644
index be2fb02..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/ViewAll.module.scss
+++ /dev/null
@@ -1,54 +0,0 @@
-.viewCard {
-
- p {
-
- display: flex;
- flex-direction: row;
- align-content: center;
- align-items: center;
-
- ion-icon {
-
- margin-right: 0.5rem;
- }
- }
-
- .cardImage {
-
- height: 10rem;
- width: 100%;
- background-position: top center;
- background-size: cover;
- }
-}
-
-.viewCardModal {
-
- p {
-
- display: flex;
- flex-direction: row;
- align-content: center;
- align-items: center;
-
- ion-icon {
-
- margin-right: 0.5rem;
- }
- }
-
- .cardImage {
-
- height: 10rem;
- width: 100%;
- background-position: top center;
- background-size: cover;
- }
-}
-
-.viewCardContainerModal {
-
- height: 90vh;
- width: 100%;
- overflow: scroll;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/ViewPlace.module.scss b/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/ViewPlace.module.scss
deleted file mode 100644
index 144b72c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoRestaurantFinder/styles/ViewPlace.module.scss
+++ /dev/null
@@ -1,81 +0,0 @@
-.page {
-
- ion-content {
-
- ion-toolbar,
- ion-header {
-
- --border-style: none;
- --border-color: none;
- }
- }
-
- .cardImage {
-
- height: 10rem;
- width: 100%;
- background-position: top center;
- background-size: cover;
- border-radius: 5px;
-
- ion-row {
-
- --color: white;
- background-color: rgba(0, 0, 0, 0.4);
- height: 100%;
- display: flex;
- flex-direction: row;
- align-content: center;
- align-items: center;
- justify-content: center;
-
- ion-card-subtitle {
-
- --color: white;
- background-color: rgba(0, 0, 0, 0.6);
- padding: 1rem;
- text-align: center;
- border-radius: 5px;
- font-size: 1.2rem;
-
- div {
-
- margin-bottom: -0.6rem;
- }
-
- ion-note {
-
- font-size: 0.6rem;
- padding: 0;
- margin: 0;
- --color: white;
- text-transform: lowercase;
- font-weight: 600;
- }
- }
- }
- }
-
- a {
-
- text-decoration: none;
- font-size: 0.9rem;
- }
-
- .categoryContainer {
-
- padding-top: 1rem;
- padding-bottom: 1rem;
- border-bottom: 2px solid rgb(241, 241, 241);
- }
-
- .placePhoto {
-
- height: 4rem;
- }
-
- .reviewUser {
-
-
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/ActiveScoreboard.jsx b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/ActiveScoreboard.jsx
deleted file mode 100644
index 434da5d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/ActiveScoreboard.jsx
+++ /dev/null
@@ -1,142 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonCard,
- IonCardContent,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonPage,
- IonRow,
- useIonModal,
- useIonRouter,
- useIonViewWillEnter,
-} from '@ionic/react';
-import { addOutline, arrowBack } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { useRef } from 'react';
-import { MainStore } from '../store';
-import { getScoreboard } from '../store/Selectors';
-
-import './Page.css';
-import styles from './ActiveScoreboard.module.scss';
-import { addScoreToPlayer } from '../store/MainStore';
-import FinishModal from '../components/FinishModal';
-import { useParams } from 'react-router';
-
-const ActiveScoreboard = () => {
- const pageRef = useRef(null);
- const headingRef = useRef(null);
- const router = useIonRouter();
-
- const { id } = useParams();
- const activeScoreboard = useStoreState(MainStore, getScoreboard(id));
-
- const [present, dismiss] = useIonModal(FinishModal, {
- dismiss: () => dismiss(),
- });
-
- useIonViewWillEnter(() => {
- headingRef.current.classList.add('animate__slideInDown');
- headingRef.current.style.display = '';
- });
-
- const handleAddScore = (index) => {
- addScoreToPlayer(activeScoreboard.id, index);
- };
-
- return (
-
-
-
-
-
-
-
router.goBack()}>
-
-
-
-
-
-
-
-
-
-
- {activeScoreboard.title}
- {activeScoreboard.players.length} players
-
-
-
-
-
-
-
-
-
-
- {activeScoreboard.done && (
-
-
- Game has finished.
-
-
- )}
-
-
- {activeScoreboard.players.map((player, index) => {
- return (
-
-
- {index + 1}
-
- {player.name}
- {player.score} points
- handleAddScore(index)}
- >
-
-
-
- );
- })}
-
-
-
- present({
- presentingElement: pageRef.current,
- })
- }
- >
- Finish Game →
-
-
-
- );
-};
-
-export default ActiveScoreboard;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/ActiveScoreboard.module.scss b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/ActiveScoreboard.module.scss
deleted file mode 100644
index 6327d8f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/ActiveScoreboard.module.scss
+++ /dev/null
@@ -1,63 +0,0 @@
-.customHeader {
-
- img {
-
- border-bottom-left-radius: 150px;
- // border-bottom-right-radius: 50px;
- }
-}
-
-.customBackButton {
-
- position: absolute;
- top: 3rem;
- left: 1.4rem;
- border-radius: 500px;
- padding: 0.5rem;
- background-color: rgba(0, 0, 0, 0.5);
- border: 2px solid white;
- display: flex;
- flex-direction: row;
- align-content: center;
- align-items: center;
- justify-content: center;
-
- svg {
-
- color: rgb(255, 255, 255);
- height: 1.75rem;
- width: 1.75rem;
- }
-}
-
-.mainContent {
-
- // position: relative;
- margin-top: -5rem !important;
- z-index: 99;
-}
-
-.placeHeading {
-
- $grad_color: #f8f8f8;
- $main_color: white;
-
- background:
- linear-gradient(135deg, $grad_color 25%, transparent 25%) -50px 0,
- linear-gradient(225deg, $grad_color 25%, transparent 25%) -50px 0,
- linear-gradient(315deg, $grad_color 25%, transparent 25%),
- linear-gradient(45deg, $grad_color 25%, transparent 25%);
- background-size: 100px 100px;
- background-color: $main_color;
-}
-
-.playerItem {
-
- margin-left: 1.2rem;
- margin-right: 1.2rem;
- --ion-item-background: var(--ion-color-primary);
- --color: white;
- --border-radius: 10px;
- --padding-top: 0.5rem;
- --padding-bottom: 0.5rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/Dashboard.jsx b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/Dashboard.jsx
deleted file mode 100644
index c697ad2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/Dashboard.jsx
+++ /dev/null
@@ -1,179 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonModal,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonMenuButton,
- IonPage,
- IonRow,
- IonText,
- IonTitle,
- IonToolbar,
- useIonModal,
- useIonRouter,
- IonCardHeader,
-} from '@ionic/react';
-import { arrowForward, arrowUndoOutline, chevronBack, contractOutline } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { useRef, useState } from 'react';
-import GenerateModal from '../components/GenerateModal';
-import { MainStore } from '../store';
-import { getActiveScoreboard } from '../store/Selectors';
-
-import './Page.css';
-
-const Dashboard = () => {
- const pageRef = useRef(null);
- const router = useIonRouter();
-
- const activeScoreboard = useStoreState(MainStore, getActiveScoreboard);
-
- const [showModal, setShowModal] = useState(false);
-
- const [presentGenerateModal, dismissGenerateModal] = useIonModal(GenerateModal, {
- dismiss: () => dismissGenerateModal(),
- });
-
- const features = [
- {
- label: 'Track scores easily',
- icon: contractOutline,
- },
- {
- label: 'See previous scoreboards',
- icon: arrowUndoOutline,
- },
- ];
-
- const Feature = ({ feature }) => (
-
-
- {feature.label}
-
- );
-
- const handleShow = () => {
- presentGenerateModal();
- };
-
- return (
-
-
-
-
- {
- router.goBack();
- }}
- >
-
-
-
- Dashboard
-
-
-
-
-
-
- Dashboard
-
-
-
- helloworld
-
-
-
-
-
-
-
-
-
- Ionic Scoreboard
- Track scores easily for games!
-
-
-
-
- {features.map((feature, index) => (
-
- ))}
-
-
-
- {activeScoreboard && (
-
-
- Active Scoreboard
-
-
-
- Title
-
- {activeScoreboard.title}
-
-
-
-
- Players
-
- {activeScoreboard.players.length}
-
-
-
-
-
-
-
-
-
-
- {activeScoreboard.done && (
-
-
- Scoreboard finished.
-
-
- )}
-
-
- )}
-
-
- Ready to get started?
- setShowModal(true)}>
- Generate a scoreboard →
-
-
-
-
- setShowModal(false)} />
-
-
-
- );
-};
-
-export default Dashboard;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/Page.css b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/Page.css
deleted file mode 100644
index 49008be..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/Page.css
+++ /dev/null
@@ -1,11 +0,0 @@
-.active-scoreboard-card {
-
- --ion-card-background: var(--ion-color-primary);
- --ion-text-color: white;
-}
-
-.player-square {
-
- /* border: 1px solid red; */
- /* height: 5rem; */
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/Page.jsx b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/Page.jsx
deleted file mode 100644
index a136cc4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/Page.jsx
+++ /dev/null
@@ -1,46 +0,0 @@
-import {
- IonButtons,
- IonContent,
- IonHeader,
- IonMenuButton,
- IonPage,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useParams } from 'react-router';
-
-import './Page.css';
-
-const Page = () => {
- const { name } = useParams();
-
- return (
-
-
-
-
-
-
- {name}
-
-
-
-
-
-
- {name}
-
-
-
-
-
-
- );
-};
-
-export default Page;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/PreviousScoreboards.jsx b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/PreviousScoreboards.jsx
deleted file mode 100644
index 12669d0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/AppPages/PreviousScoreboards.jsx
+++ /dev/null
@@ -1,113 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonLabel,
- IonMenuButton,
- IonPage,
- IonRow,
- IonText,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { arrowForward } from 'ionicons/icons';
-import { useStoreState } from 'pullstate';
-import { useRef } from 'react';
-import { MainStore } from '../store';
-import { getScoreboards } from '../store/Selectors';
-
-import './Page.css';
-
-const PreviousScoreboards = () => {
- const pageRef = useRef(null);
- const scoreboards = useStoreState(MainStore, getScoreboards);
-
- return (
-
-
-
-
-
-
- Previous Scoreboards
-
-
-
-
-
-
- Previous Scoreboards
-
-
-
- {scoreboards.length > 0 && (
- <>
- {scoreboards.map((scoreboard, index) => {
- return (
-
-
-
-
- Title
-
- {scoreboard.title}
-
-
-
-
- Players
-
- {scoreboard.players && scoreboard.players.length}
-
-
-
-
-
-
-
-
-
-
-
- );
- })}
- >
- )}
-
- {scoreboards.length < 1 && (
-
-
-
- No scoreboards to show
- You can easily add a new one
-
-
- Add one →
-
-
-
- )}
-
-
- );
-};
-
-export default PreviousScoreboards;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/NOTES.md
deleted file mode 100644
index d37daac..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0164
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Details.jsx b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Details.jsx
deleted file mode 100644
index ea6297e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Details.jsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardTitle,
- IonCol,
- IonInput,
- IonItem,
- IonLabel,
- IonNote,
- IonRow,
-} from '@ionic/react';
-
-export const Details = ({ details, setDetails }) => (
-
-
-
-
- Details
- Some basic info
-
-
-
-
-
-
- Scoreboard title
- setDetails({ ...details, title: e.target.value })}
- placeholder="Give your scoreboard a title"
- />
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/FinishModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/FinishModal.jsx
deleted file mode 100644
index f8699c4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/FinishModal.jsx
+++ /dev/null
@@ -1,91 +0,0 @@
-import {
- IonButton,
- IonCard,
- IonCardContent,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonNote,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { useEffect, useState } from 'react';
-import { MainStore } from '../store';
-import { getActiveScoreboard } from '../store/Selectors';
-
-import Confetti from 'react-confetti';
-import { useWindowSize } from '@react-hook/window-size';
-import { markActiveAsDone } from '../store/MainStore';
-
-const FinishModal = ({ dismiss }) => {
- const activeScoreboard = useStoreState(MainStore, getActiveScoreboard);
- const [winner, setWinner] = useState({});
- const [width, height] = useWindowSize();
-
- useEffect(() => {
- activeScoreboard && setWinner(activeScoreboard.players[0]);
- }, [activeScoreboard]);
-
- const finish = () => {
- markActiveAsDone();
- dismiss();
- };
-
- return (
-
-
-
-
- Results!
-
-
-
-
-
-
-
-
-
-
-
-
- Winner
- with {winner.score} points
-
-
-
-
-
- {winner.name}
-
-
-
-
-
-
- Done
-
-
-
-
-
-
- );
-};
-
-export default FinishModal;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/GenerateModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/GenerateModal.jsx
deleted file mode 100644
index 8901221..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/GenerateModal.jsx
+++ /dev/null
@@ -1,74 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonToast,
-} from '@ionic/react';
-import { useState } from 'react';
-import { addScoreboard } from '../store/MainStore';
-import { Details } from './Details';
-import { Players } from './Players';
-
-const GenerateModal = ({ dismiss }) => {
- const [players, setPlayers] = useState([]);
- const [details, setDetails] = useState({});
- const [showToast] = useIonToast();
-
- const save = () => {
- addScoreboard(players, details);
- showToast({
- header: 'Success',
- message: 'Scoreboard added successfully.',
- color: 'primary',
- duration: 3500,
- });
-
- dismiss();
- };
-
- return (
-
-
-
-
- Close
-
- Generate a scoreboard
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Save
-
-
-
-
-
-
- );
-};
-
-export default GenerateModal;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Menu.css b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Menu.css
deleted file mode 100644
index 0ca47a2..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Menu.css
+++ /dev/null
@@ -1,113 +0,0 @@
-ion-menu ion-content {
- --background: var(--ion-item-background, var(--ion-background-color, #fff));
-}
-
-ion-menu.md ion-content {
- --padding-start: 8px;
- --padding-end: 8px;
- --padding-top: 20px;
- --padding-bottom: 20px;
-}
-
-ion-menu.md ion-list {
- padding: 20px 0;
-}
-
-ion-menu.md ion-note {
- margin-bottom: 30px;
-}
-
-ion-menu.md ion-list-header, ion-menu.md ion-note {
- padding-left: 10px;
-}
-
-ion-menu.md ion-list#inbox-list {
- border-bottom: 1px solid var(--ion-color-step-150, #d7d8da);
-}
-
-ion-menu.md ion-list#inbox-list ion-list-header {
- font-size: 22px;
- font-weight: 600;
- min-height: 20px;
-}
-
-ion-menu.md ion-list#labels-list ion-list-header {
- font-size: 16px;
- margin-bottom: 18px;
- color: #757575;
- min-height: 26px;
-}
-
-ion-menu.md ion-item {
- --padding-start: 10px;
- --padding-end: 10px;
- border-radius: 4px;
-}
-
-ion-menu.md ion-item.selected {
- --background: rgba(var(--ion-color-primary-rgb), 0.14);
-}
-
-ion-menu.md ion-item.selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.md ion-item ion-icon {
- color: #616e7e;
-}
-
-ion-menu.md ion-item ion-label {
- font-weight: 500;
-}
-
-ion-menu.ios ion-content {
- --padding-bottom: 20px;
-}
-
-ion-menu.ios ion-list {
- padding: 20px 0 0 0;
-}
-
-ion-menu.ios ion-note {
- line-height: 24px;
- margin-bottom: 20px;
-}
-
-ion-menu.ios ion-item {
- --padding-start: 16px;
- --padding-end: 16px;
- --min-height: 50px;
-}
-
-ion-menu.ios ion-item ion-icon {
- font-size: 24px;
- color: #73849a;
-}
-
-ion-menu.ios ion-item .selected ion-icon {
- color: var(--ion-color-primary);
-}
-
-ion-menu.ios ion-list#labels-list ion-list-header {
- margin-bottom: 8px;
-}
-
-ion-menu.ios ion-list-header,
-ion-menu.ios ion-note {
- padding-left: 16px;
- padding-right: 16px;
-}
-
-ion-menu.ios ion-note {
- margin-bottom: 8px;
-}
-
-ion-note {
- display: inline-block;
- font-size: 16px;
- color: var(--ion-color-medium-shade);
-}
-
-ion-item.selected {
- --color: var(--ion-color-primary);
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Menu.jsx b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Menu.jsx
deleted file mode 100644
index 3887d8c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Menu.jsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import {
- IonContent,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonListHeader,
- IonMenu,
- IonMenuToggle,
- IonNote,
-} from '@ionic/react';
-import { useLocation } from 'react-router-dom';
-import { arrowUndoOutline, arrowUndoSharp, pieChartOutline, pieChartSharp } from 'ionicons/icons';
-import './Menu.css';
-
-const appPages = [
- {
- title: 'Dashboard',
- url: '/page/Dashboard',
- iosIcon: pieChartOutline,
- mdIcon: pieChartSharp,
- },
- {
- title: 'Previous scoreboards',
- url: '/page/Previous',
- iosIcon: arrowUndoOutline,
- mdIcon: arrowUndoSharp,
- },
-];
-
-const Menu = () => {
- const location = useLocation();
-
- return (
-
-
-
- Ionic Scoreboard
- An awesome scoreboard
- {appPages.map((appPage, index) => {
- return (
-
-
-
- {appPage.title}
-
-
- );
- })}
-
-
-
- );
-};
-
-export default Menu;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Player.jsx b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Player.jsx
deleted file mode 100644
index 2134490..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Player.jsx
+++ /dev/null
@@ -1,44 +0,0 @@
-import {
- IonCheckbox,
- IonCol,
- IonIcon,
- IonInput,
- IonItem,
- IonItemOption,
- IonItemOptions,
- IonItemSliding,
- IonLabel,
- IonRow,
-} from '@ionic/react';
-import { trashOutline } from 'ionicons/icons';
-
-export const Player = ({ player, index, handleChange, handleRemove }) => {
- return (
-
-
-
-
- Name
- handleChange(e, index, 'name')}
- placeholder="Enter a name"
- type="text"
- enterkeyhint="done"
- />
-
-
-
-
-
- handleRemove(index)}
- >
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Players.jsx b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Players.jsx
deleted file mode 100644
index 1a3b1c9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/components/Players.jsx
+++ /dev/null
@@ -1,67 +0,0 @@
-import {
- IonButton,
- IonCard,
- IonCardContent,
- IonCardTitle,
- IonCol,
- IonList,
- IonNote,
- IonRow,
-} from '@ionic/react';
-import { Player } from './Player';
-
-export const Players = ({ players, setPlayers }) => {
- const handlePlayerChange = (e, index, field) => {
- const newValue = e.target.value;
- const newPlayers = [...players];
-
- newPlayers[index][field] = newValue;
- setPlayers(newPlayers);
- };
-
- const handleAdd = () => {
- const tempPlayer = {
- name: '',
- score: 0,
- };
-
- setPlayers([...players, tempPlayer]);
- };
-
- const handleRemove = (index) => {
- setPlayers((current) => current.filter((c, i) => i !== index));
- };
-
- return (
-
-
-
-
- Players
- Add some players
-
-
-
-
- Add
-
-
-
-
- {players.length > 0 && (
-
- {players.map((player, index) => (
-
- ))}
-
- )}
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/index.tsx
deleted file mode 100644
index ce5027a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/index.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonLabel,
- IonPage,
- IonRouterOutlet,
- IonRow,
- IonTabBar,
- IonTabButton,
- IonTabs,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { IonApp, IonSplitPane } from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from './components1/SkeletonDashboard';
-import {
- addCircle,
- addCircleOutline,
- chevronBack,
- cloudOutline,
- home,
- homeOutline,
- notifications,
- notificationsOutline,
- person,
- personOutline,
- refreshOutline,
- search,
- searchOutline,
-} from 'ionicons/icons';
-import { IonReactRouter } from '@ionic/react-router';
-import { Route, Redirect } from 'react-router';
-//
-import Dashboard from './AppPages/Dashboard';
-import PreviousScoreboards from './AppPages/PreviousScoreboards';
-import ActiveScoreboard from './AppPages/ActiveScoreboard';
-
-const DemoScoreBoard = () => {
- return (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- );
-};
-
-export default DemoScoreBoard;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/store/MainStore.js b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/store/MainStore.js
deleted file mode 100644
index ee667bc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/store/MainStore.js
+++ /dev/null
@@ -1,57 +0,0 @@
-import { Store } from 'pullstate';
-
-const MainStore = new Store({
- players: [],
- scoreboards: [],
-});
-
-export default MainStore;
-
-export const markActiveAsDone = () => {
- MainStore.update((state) => {
- const scoreboardIndex = state.scoreboards.findIndex((scoreboard) => scoreboard.active === true);
- state.scoreboards[scoreboardIndex].done = true;
- });
-};
-
-export const addScoreboard = (players, details) => {
- MainStore.update((s) => {
- s.scoreboards = s.scoreboards.map((scoreboard) => (scoreboard.active = false));
- });
-
- MainStore.update((state) => {
- state.scoreboards.forEach((scoreboard, index) => {
- state.scoreboards[index].active = false;
- });
- });
-
- const newScoreboard = {
- id: Date.now(),
- title: details.title,
- players: [...players],
- active: true,
- };
-
- const playersToSave = players.filter((p) => p.saved === true);
-
- MainStore.update((s) => {
- s.scoreboards = [...s.scoreboards, newScoreboard];
- });
- MainStore.update((s) => {
- s.players = [...s.players, ...playersToSave];
- });
-};
-
-export const addScoreToPlayer = (scoreboardId, playerIndex) => {
- MainStore.update((state) => {
- const scoreboardIndex = state.scoreboards.findIndex(
- (scoreboard) => scoreboard.id === parseInt(scoreboardId)
- );
- state.scoreboards[scoreboardIndex].players[playerIndex].score += 1;
-
- state.scoreboards[scoreboardIndex].players.sort((a, b) => {
- if (a.score > b.score) return -1;
- return a.score < b.score ? 1 : 0;
- });
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/store/Selectors.js
deleted file mode 100644
index 1b58250..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/store/Selectors.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getScoreboards = createSelector(getState, (state) => state.scoreboards);
-
-// Specific getters
-export const getActiveScoreboard = createSelector(
- getState,
- (state) => state.scoreboards.filter((scoreboard) => scoreboard.active === true)[0]
-);
-export const getScoreboard = (id) =>
- createSelector(
- getState,
- (state) => state.scoreboards.filter((scoreboard) => parseInt(scoreboard.id) === parseInt(id))[0]
- );
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/store/index.js
deleted file mode 100644
index a406dfd..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/store/index.js
+++ /dev/null
@@ -1 +0,0 @@
-export { default as MainStore } from './MainStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/style.scss b/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/style.scss
deleted file mode 100644
index 3bc625f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoScoreBoard/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/ScoreBoard/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/ScoreBoard/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/ScoreBoard/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/ScoreBoard/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Cart.jsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Cart.jsx
deleted file mode 100644
index 5eeead6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Cart.jsx
+++ /dev/null
@@ -1,97 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { useEffect } from 'react';
-import { useState } from 'react';
-import { CartProduct } from '../components/CartProduct';
-import { Heading } from '../components/Heading';
-import { CartStore } from '../store';
-import { getCart } from '../store/Selectors';
-
-import styles from './Cart.module.scss';
-
-const Cart = () => {
- const cart = useStoreState(CartStore, getCart);
- const [amount, setAmount] = useState(0);
-
- useEffect(() => {
- var total = 0.0;
- cart.forEach((product) => (total += product.price));
- setAmount(total.toFixed(2));
- }, [cart]);
-
- return (
-
-
-
- Cart
-
-
-
-
-
- Cart
-
-
-
-
- {cart.length < 1 && (
-
-
-
-
-
Hang on there!
-
Your cart is empty
-
- Shop now →
-
-
-
-
- )}
-
- {cart.length > 0 && (
- <>
-
-
-
-
-
-
-
- {cart.map((product, index) => {
- return ;
- })}
-
- >
- )}
-
-
- {cart.length > 0 && (
-
-
-
-
- Checkout (£{amount})
-
-
-
-
- )}
-
-
- );
-};
-
-export default Cart;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Cart.module.scss b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Cart.module.scss
deleted file mode 100644
index 9854099..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Cart.module.scss
+++ /dev/null
@@ -1,30 +0,0 @@
-.emptyCartContainer {
-
- display: flex;
- justify-content: center;
- text-align: center;
- align-items: center;
- align-content: center;
- margin-top: 2rem;
-
- .text {
-
-
- color: rgb(78, 78, 78);
- padding: 1rem;
- border: 2px solid rgb(231, 231, 231);
- background-color: white;
- border-radius: 10px;
- }
-}
-
-.bottom {
-
- width: 100%;
- border-top: 2px solid var(--ion-color-primary);
- background-color: white;
- position: fixed;
- bottom: 0rem;
- padding-left: 1.2rem;
- padding-right: 1.2rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Category.jsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Category.jsx
deleted file mode 100644
index 721ad47..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Category.jsx
+++ /dev/null
@@ -1,110 +0,0 @@
-import {
- IonBackButton,
- IonBreadcrumb,
- IonBreadcrumbs,
- IonButtons,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
- useIonViewWillEnter,
- useIonViewWillLeave,
- IonRouterLink,
- useIonModal,
-} from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { useRef } from 'react';
-import { useState } from 'react';
-import { useParams } from 'react-router';
-import { Product } from '../components/Product';
-import { ProductModal } from '../components/ProductModal';
-import { ProductStore } from '../store';
-import { getCategoryProducts } from '../store/Selectors';
-import { capitalizeWords } from '../utils';
-
-import styles from './Category.module.scss';
-
-const Category = () => {
- const pageRef = useRef(null);
- const { name } = useParams();
- const products = useStoreState(ProductStore, getCategoryProducts(name));
- const [selectedProduct, setSelectedProduct] = useState(false);
-
- const handleShowModal = (product) => {
- setSelectedProduct(product);
- present({
- cssClass: 'product-modal',
- presentingElement: pageRef.current,
- });
- };
-
- const [present, dismiss] = useIonModal(ProductModal, {
- dismiss: () => dismiss(),
- product: selectedProduct,
- });
-
- useIonViewWillEnter(() => {
- document.querySelector('ion-tab-bar').style.display = 'none';
- });
-
- useIonViewWillLeave(() => {
- document.querySelector('ion-tab-bar').style.display = '';
- });
-
- return (
-
-
-
-
-
-
- {capitalizeWords(name)}
-
-
-
-
-
- {/* { capitalizeWords(name) } */}
-
-
-
- Shop
-
-
-
- {capitalizeWords(name)}
-
-
-
-
-
-
-
-
-
-
-
-
-
- {products.map((product, index) => {
- return (
- handleShowModal(product)}
- />
- );
- })}
-
-
-
-
- );
-};
-
-export default Category;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Category.module.scss b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Category.module.scss
deleted file mode 100644
index 6320045..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Category.module.scss
+++ /dev/null
@@ -1,6 +0,0 @@
-.searchContainer {
-
- margin-left: -1.2rem;
- margin-top: -1.5rem;
- margin-bottom: -0.5rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Home.jsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Home.jsx
deleted file mode 100644
index 8468409..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/AppPages/Home.jsx
+++ /dev/null
@@ -1,104 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonModal,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonModal,
- useIonRouter,
-} from '@ionic/react';
-import { useRef } from 'react';
-import { useState } from 'react';
-import { CategoriesModal } from '../components/CategoriesModal';
-import { Heading } from '../components/Heading';
-import { Offer } from '../components/Offer';
-import { PopularCategories } from '../components/PopularCategories';
-import { ProductModal } from '../components/ProductModal';
-import { TrendingProducts } from '../components/TrendingProducts';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-
-const Home = () => {
- const router = useIonRouter();
-
- const pageRef = useRef(null);
- const [showModal, setShowModal] = useState(false);
- const [selectedProduct, setSelectedProduct] = useState(false);
-
- const handleShowModal = (product) => {
- setSelectedProduct(product);
- present({
- cssClass: 'product-modal',
- presentingElement: pageRef.current,
- });
- };
-
- const [present, dismiss] = useIonModal(ProductModal, {
- dismiss: () => dismiss(),
- product: selectedProduct,
- });
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Ionic Shop
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Ionic Shop 123321
-
-
-
-
-
- setShowModal(true)}
- buttonText="See all"
- />
-
-
-
-
-
-
-
- setShowModal(false)}
- breakpoints={[0, 0.27, 0.5, 1]}
- initialBreakpoint={0.27}
- backdropBreakpoint={0.5}
- >
- setShowModal(false)} />
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/NOTES.md
deleted file mode 100644
index fd1a396..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0165
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/CartProduct.jsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/CartProduct.jsx
deleted file mode 100644
index 70954c3..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/CartProduct.jsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import { IonBadge, IonCol, IonIcon, IonNote } from '@ionic/react';
-import { star } from 'ionicons/icons';
-import styles from './CartProduct.module.scss';
-
-export const CartProduct = ({ product, click, fromHome = false }) => {
- return (
-
-
-
-
- £{product.price.toFixed(2)}
-
-
-
{product.title}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/CartProduct.module.scss b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/CartProduct.module.scss
deleted file mode 100644
index 91ce3ba..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/CartProduct.module.scss
+++ /dev/null
@@ -1,43 +0,0 @@
-.productContainer {
-
- padding: 1rem;
- border: 2px solid rgb(231, 231, 231);
- background-color: white;
- // height: 17.5rem;
- border-radius: 10px;
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
-}
-
-.coverImage {
-
- height: 3rem;
- width: 3rem;
- margin-left: 1rem;
- background-color: white;
- background-position: center center;
- background-size: contain;
- background-repeat: no-repeat;
-}
-
-.productInfo {
-
- ion-badge {
-
- margin-top: 0.6rem;
- }
-
- padding-right: 1rem;
-}
-
-.productTitle {
-
- text-align: left;
- font-size: 0.75rem;
- letter-spacing: -0.03rem;
-
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/CategoriesModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/CategoriesModal.jsx
deleted file mode 100644
index 869a29d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/CategoriesModal.jsx
+++ /dev/null
@@ -1,39 +0,0 @@
-import { IonButton, IonCol, IonGrid, IonRow, IonText, useIonRouter } from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { CategoryStore } from '../store';
-import { getCategories } from '../store/Selectors';
-import { capitalizeWords } from '../utils';
-
-export const CategoriesModal = ({ close }) => {
- const router = useIonRouter();
- const categories = useStoreState(CategoryStore, getCategories);
-
- const goToCategory = (category) => {
- close();
- router.push(`/category/${category}`);
- };
-
- return (
-
-
-
-
- Product Categories
-
-
-
-
-
- {categories.map((category, index) => {
- return (
- goToCategory(category)} key={index} color="primary">
- {capitalizeWords(category)}
-
- );
- })}
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Heading.jsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Heading.jsx
deleted file mode 100644
index b6e943d..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Heading.jsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { IonButton, IonCol, IonRow } from '@ionic/react';
-import styles from './Heading.module.scss';
-
-export const Heading = ({ heading, buttonClick = false, buttonText }) => (
-
-
- {heading}
- {buttonClick && (
-
- {buttonText} →
-
- )}
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Heading.module.scss b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Heading.module.scss
deleted file mode 100644
index 038e260..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Heading.module.scss
+++ /dev/null
@@ -1,13 +0,0 @@
-.heading {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-content: center;
- align-items: center;
-
- ion-button {
-
- margin-top: 0.5rem;
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Offer.jsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Offer.jsx
deleted file mode 100644
index b313d44..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Offer.jsx
+++ /dev/null
@@ -1,17 +0,0 @@
-import { IonCol, IonRow } from '@ionic/react';
-import styles from './Offer.module.scss';
-
-export const Offer = ({ image, heading, text }) => (
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Offer.module.scss b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Offer.module.scss
deleted file mode 100644
index b53b8f8..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Offer.module.scss
+++ /dev/null
@@ -1,31 +0,0 @@
-.offer {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-content: center;
- align-items: center;
-
- border-radius: 10px;
- background-color: var(--ion-tab-bar-background);
- color: white;
- padding: 1rem;
- padding-right: 2rem;
- padding-left: 2rem;
-
- h1, p {
- padding: 0;
- margin: 0;
- }
-
- p {
-
- border-bottom: 1px solid white;
- padding-bottom: 1rem;
- }
-
- img {
-
- height: 6rem;
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/PopularCategories.jsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/PopularCategories.jsx
deleted file mode 100644
index e929106..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/PopularCategories.jsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import { IonButton, IonCol, IonRow } from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { CategoryStore } from '../store';
-import { getCategories } from '../store/Selectors';
-import { capitalizeWords } from '../utils';
-
-import styles from './PopularCategories.module.scss';
-
-export const PopularCategories = () => {
- const categories = useStoreState(CategoryStore, getCategories);
-
- return (
-
-
- {categories.map((category, index) => {
- if (index === 0 || index === 2) {
- return (
-
- {capitalizeWords(category)}
-
- );
- } else return null;
- })}
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/PopularCategories.module.scss b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/PopularCategories.module.scss
deleted file mode 100644
index f177f49..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/PopularCategories.module.scss
+++ /dev/null
@@ -1,14 +0,0 @@
-.categoriesContainer {
-
- margin-top: -1.2rem;
- margin-bottom: 0.5rem;
-}
-
-.categories {
-
- display: flex;
- flex-direction: row;
- justify-content: flex-start;
- align-content: center;
- align-items: center;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Product.jsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Product.jsx
deleted file mode 100644
index 64bf2c1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Product.jsx
+++ /dev/null
@@ -1,28 +0,0 @@
-import { IonBadge, IonCol, IonIcon, IonNote } from '@ionic/react';
-import { star } from 'ionicons/icons';
-import styles from './Product.module.scss';
-
-export const Product = ({ product, click, fromHome = false }) => {
- return (
-
-
-
-
{product.title}
-
-
-
- £{product.price.toFixed(2)}
-
-
-
-
-
-
-
- {product.rating.rate}
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Product.module.scss b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Product.module.scss
deleted file mode 100644
index 9fbb330..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/Product.module.scss
+++ /dev/null
@@ -1,48 +0,0 @@
-.productContainer {
-
- padding: 1rem;
- border: 2px solid rgb(231, 231, 231);
- background-color: white;
- height: 17.5rem;
- border-radius: 10px;
-}
-
-.coverImage {
-
- height: 10rem;
- background-color: white;
- background-position: center center;
- background-size: contain;
- background-repeat: no-repeat;
-}
-
-.productTitle {
-
- font-size: 1rem;
- letter-spacing: -0.03rem;
- display: -webkit-box;
- -webkit-line-clamp: 2;
- -webkit-box-orient: vertical;
- overflow: hidden;
- height: 40px;
-}
-
-.productInfo,
-.productRating {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-items: center;
- align-content: center;
-}
-
-.productRating {
-
- ion-icon {
-
- margin-top: 0.1rem;
- }
-
- font-size: 0.9rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/ProductModal.jsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/ProductModal.jsx
deleted file mode 100644
index 2a49539..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/ProductModal.jsx
+++ /dev/null
@@ -1,104 +0,0 @@
-import {
- IonBadge,
- IonButton,
- IonButtons,
- IonCard,
- IonCardContent,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { cart, star } from 'ionicons/icons';
-import { useRef } from 'react';
-import { addToCart } from '../store/CartStore';
-import { capitalizeWords } from '../utils';
-
-import styles from './ProductModal.module.scss';
-
-export const ProductModal = ({ dismiss, product }) => {
- const cartRef = useRef(null);
-
- const handleAddToCart = () => {
- cartRef.current.style.display = 'inline';
- addToCart(product);
-
- setTimeout(() => {
- cartRef.current.style.display = 'none';
- }, 750);
- };
-
- return (
-
-
-
- View Product
-
-
- Close
-
-
-
-
-
-
-
-
-
-
-
-
- {capitalizeWords(product.category)}
-
{product.title}
-
-
-
-
-
Product Description
-
{product.description}
-
-
-
-
Product Rating
-
-
- {product.rating.count} people have bought this item from the IonShop and
- have rated an average of {product.rating.rate}.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Buy now for
-
- £{product.price.toFixed(2)}
-
-
-
- Add to Cart
-
-
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/ProductModal.module.scss b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/ProductModal.module.scss
deleted file mode 100644
index 1f0f658..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/ProductModal.module.scss
+++ /dev/null
@@ -1,102 +0,0 @@
-.productTopInfo {
-
- display: flex;
- flex-direction: row;
- // justify-content: space-around;
- align-content: center;
- align-items: center;
-
- img {
-
- height: 7rem;
- border-radius: 10px;
- padding: 1rem;
- border: 2px solid rgb(231, 231, 231);
- background-color: white;
- }
-}
-
-.productCard {
-
- margin-bottom: 5rem;
-}
-
-.productDetails {
-
- margin-left: 1rem;
-
- h3 {
-
- font-weight: 600;
- }
-}
-
-.productDescription {
-
- margin-top: 1.2rem;
-
- h3 {
-
- font-weight: 600;
- margin-bottom: 0.5rem;
- }
-
- div {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-content: center;
- align-items: center;
-
- ion-icon {
-
- font-size: 5rem;
- margin-left: 1rem;
- }
- }
-}
-
-.bottom {
-
- width: 100%;
- border-top: 2px solid var(--ion-color-primary);
- background-color: white;
- position: fixed;
- bottom: 0rem;
- padding-left: 1.2rem;
- padding-right: 1.2rem;
-
- ion-col {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-content: center;
- align-items: center;
- }
-
- .price {
-
- display: flex;
- flex-direction: row;
- justify-content: space-between;
- align-content: center;
- align-items: center;
-
- ion-badge {
-
- margin-left: 1rem;
- margin-top: 0.1rem;
- }
- }
-}
-
-.animatedCart {
-
- position: absolute;
- right: 3rem;
- bottom: 3.3rem;
- font-size: 2rem;
- display: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/TrendingProducts.jsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/TrendingProducts.jsx
deleted file mode 100644
index 579e96e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/components/TrendingProducts.jsx
+++ /dev/null
@@ -1,26 +0,0 @@
-import { IonRow } from '@ionic/react';
-import { useStoreState } from 'pullstate';
-import { ProductStore } from '../store';
-import { getProducts } from '../store/Selectors';
-import { Product } from './Product';
-
-export const TrendingProducts = ({ click }) => {
- const products = useStoreState(ProductStore, getProducts);
-
- return (
-
- {products.map((product, index) => {
- if (index === 4 || index === 13) {
- return (
- click(product)}
- />
- );
- }
- })}
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/index.tsx
deleted file mode 100644
index 619dcbc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/index.tsx
+++ /dev/null
@@ -1,85 +0,0 @@
-import {
- IonButton,
- IonIcon,
- IonLabel,
- IonRouterOutlet,
- IonTabBar,
- IonTabButton,
- IonTabs,
-} from '@ionic/react';
-
-import { cart, cloudOutline, grid, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Home from './AppPages/Home';
-import Cart from './AppPages/Cart';
-import Category from './AppPages/Category';
-//
-import { fetchCategories, fetchProducts } from './utils';
-
-//
-import '@ionic/react/css/core.css';
-
-/* Basic CSS for apps built with Ionic */
-import '@ionic/react/css/normalize.css';
-import '@ionic/react/css/structure.css';
-import '@ionic/react/css/typography.css';
-
-/* Optional CSS utils that can be commented out */
-import '@ionic/react/css/padding.css';
-import '@ionic/react/css/float-elements.css';
-import '@ionic/react/css/text-alignment.css';
-import '@ionic/react/css/text-transformation.css';
-import '@ionic/react/css/flex-utils.css';
-import '@ionic/react/css/display.css';
-//
-// import './theme/variables.css';
-import './style.scss';
-
-import { useEffect } from 'react';
-//
-
-function DemoShopAppUi() {
- useEffect(() => {
- fetchCategories();
- fetchProducts();
- }, []);
-
- // return (
- // <>
- // helloworld
- // helloworld
- // >
- // );
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoShopAppUi;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/CartStore.js b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/CartStore.js
deleted file mode 100644
index 2a5e8b1..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/CartStore.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Store } from 'pullstate';
-
-const CartStore = new Store({
- cart: [],
-});
-
-export default CartStore;
-
-export const addToCart = (passedProduct) => {
- const currentCart = CartStore.getRawState().cart;
- const added = !currentCart.includes(passedProduct);
-
- CartStore.update((s) => {
- if (currentCart.includes(passedProduct)) {
- s.cart = currentCart.filter((product) => product !== passedProduct);
- } else {
- s.cart = [...s.cart, passedProduct];
- }
- });
-
- return added;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/CategoryStore.js b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/CategoryStore.js
deleted file mode 100644
index c12d0ca..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/CategoryStore.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Store } from 'pullstate';
-
-const CategoryStore = new Store({
- categories: [],
-});
-
-export default CategoryStore;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/ProductStore.js b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/ProductStore.js
deleted file mode 100644
index d71fc3a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/ProductStore.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import { Store } from 'pullstate';
-
-const ProductStore = new Store({
- products: [],
-});
-
-export default ProductStore;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/Selectors.js
deleted file mode 100644
index 6bb8a78..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/Selectors.js
+++ /dev/null
@@ -1,17 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getCart = createSelector(getState, (state) => state.cart);
-export const getCategories = createSelector(getState, (state) => state.categories);
-export const getProducts = createSelector(getState, (state) => state.products);
-
-// Specific getters
-export const getProduct = (id) =>
- createSelector(
- getState,
- (state) => state.products.filter((p) => parseInt(p.id) === parseInt(id))[0]
- );
-export const getCategoryProducts = (category) =>
- createSelector(getState, (state) => state.products.filter((p) => p.category === category));
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/index.js b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/index.js
deleted file mode 100644
index 9adf32c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/store/index.js
+++ /dev/null
@@ -1,3 +0,0 @@
-export { default as CartStore } from './CartStore';
-export { default as CategoryStore } from './CategoryStore';
-export { default as ProductStore } from './ProductStore';
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/style.scss b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/style.scss
deleted file mode 100644
index 874c8de..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/style.scss
+++ /dev/null
@@ -1,139 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-
-.demo-shop-app-ui {
- * {
- /** primary **/
- --ion-color-primary: #ff7d04;
- --ion-color-primary-rgb: 255, 125, 4;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #e06e04;
- --ion-color-primary-tint: #ff8a1d;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #ffffff;
- --ion-color-light-rgb: 255, 255, 255;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #e0e0e0;
- --ion-color-light-tint: #ffffff;
-
- /** white **/
- --ion-color-light: #ffffff;
- --ion-color-light-rgb: 255, 255, 255;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #ffffff;
- --ion-color-light-tint: #ffffff;
-
- /* --ion-background-color: #ffffff !important; */
- --ion-background-color: #f1f1f1;
- --ion-tab-bar-color-selected: #ffffff;
- --ion-tab-bar-color: #616161;
- --ion-text-color: black;
- --ion-tab-bar-background: #1b1b1b;
- --ion-toolbar-background: #1b1b1b !important;
- --ion-toolbar-color: #ff7d04;
- --ion-item-background: #000000 !important;
-
- --ion-card-background: #ffffff !important;
- /* --ion-modal-background: #272727 !important; */
- }
-
- ion-content ion-title {
- color: black;
- }
-
- ion-modal ion-toolbar {
- --background: white;
- }
-
- ion-modal {
- --background: var(--ion-tab-bar-background);
- }
-
- ion-tab-button ion-icon {
- font-size: 1.4rem !important;
- }
-
- ion-tab-button.tab-selected ion-icon {
- background-color: #ff7d04;
- border-radius: 500px;
- padding: 0.5rem;
- }
-
- ion-tab-bar {
- --border-style: none;
- border: none;
- }
-
- ion-searchbar {
- --background: var(--ion-background-color) !important;
- }
-
- .truncate {
- display: -webkit-box;
- -webkit-line-clamp: 2;
- -webkit-box-orient: vertical;
- overflow: hidden;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/utils.js b/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/utils.js
deleted file mode 100644
index b4b18be..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoShopAppUi/utils.js
+++ /dev/null
@@ -1,44 +0,0 @@
-import { CategoryStore, ProductStore } from './store';
-
-const API_URL = 'https://fakestoreapi.com';
-
-export const searchProducts = async (category = false, searchTerm = true) => {};
-
-export const capitalizeWords = (string) => {
- return string.replace(/(?:^|\s)\S/g, function (a) {
- return a.toUpperCase();
- });
-};
-
-export const fetchCategories = async () => {
- const response = await fetch(`${API_URL}/products/categories`);
- const data = await response.json();
-
- CategoryStore.update((s) => {
- s.categories = data;
- });
-};
-
-// const getProductCategoryId = (category = "") => {
-
-// const categoriesStore = CategoryStore.getRawState();
-// const productCategory = categoriesStore.categories.filter(c => c.name === capitalizeWords(category));
-
-// if (productCategory.length > 0) {
-
-// return productCategory[0].id;
-// } else {
-
-// return 2;
-// // getProductCategoryId(category);
-// }
-// }
-
-export const fetchProducts = async () => {
- const response = await fetch(`${API_URL}/products?limit=1000`);
- const data = await response.json();
-
- ProductStore.update((s) => {
- s.products = data;
- });
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/AppPages/Tab1.jsx
deleted file mode 100644
index a24d76a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/AppPages/Tab2.jsx
deleted file mode 100644
index c258179..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/NOTES.md
deleted file mode 100644
index 1d91055..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0166
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/components/Posts.tsx b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/components/Posts.tsx
deleted file mode 100644
index 42960ef..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/components/Posts.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import { IonImg, IonItem, IonLabel, IonList, IonLoading, IonThumbnail } from '@ionic/react';
-import { SkeletonPosts } from './SkeletonPosts';
-
-export const Posts = ({ posts, useSkeleton }): React.JSX.Element => (
- <>
- {posts.length > 0 ? (
-
- {posts.map((post, index) => {
- return (
-
-
-
-
-
- {post.title}
- {post.blurb}
- {post.date}
-
-
- );
- })}
-
- ) : useSkeleton ? (
-
- ) : (
-
- )}
- >
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/components/SkeletonPosts.tsx b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/components/SkeletonPosts.tsx
deleted file mode 100644
index 82fb324..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/components/SkeletonPosts.tsx
+++ /dev/null
@@ -1,30 +0,0 @@
-import { IonItem, IonLabel, IonList, IonSkeletonText, IonThumbnail } from '@ionic/react';
-
-export const SkeletonPosts = (): JSX.Element => {
- const postAmount = 10;
-
- return (
-
- {[...Array(postAmount)].map((post, index) => {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
- })}
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/data/index.ts b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/data/index.ts
deleted file mode 100644
index 7eb4faf..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/data/index.ts
+++ /dev/null
@@ -1,72 +0,0 @@
-export const fakePosts = [
- {
- title: 'Sed ut perspiciatis unde',
- blurb:
- 'Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.',
- image: '/assets/DemoSkeletonText/scenery/1.png',
- date: '01/04/2021',
- },
- {
- title: 'But I must explain to you',
- blurb:
- 'But I must explain to you how all this mistaken idea of denouncing pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth',
- image: '/assets/DemoSkeletonText/scenery/2.png',
- date: '23/02/2021',
- },
- {
- title: 'Far far away, behind the word',
- blurb:
- 'Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean.',
- image: '/assets/DemoSkeletonText/scenery/3.png',
- date: '18/02/2021',
- },
- {
- title: 'A wonderful serenity',
- blurb:
- 'A wonderful serenity has taken possession of my entire soul, like these sweet mornings of spring which I enjoy with my whole heart. I am alone, and feel the charm of existence in this spot.',
- image: '/assets/DemoSkeletonText/scenery/4.png',
- date: '09/02/2021',
- },
- {
- title: 'Morning troubled dreams',
- blurb:
- 'One morning, when Gregor Samsa woke from troubled dreams, he found himself transformed in his bed into a horrible vermin. He lay on his armour-like back, and if he lifted his head.',
- image: '/assets/DemoSkeletonText/scenery/5.png',
- date: '01/02/2021',
- },
- {
- title: 'The quick brown fox',
- blurb:
- 'The quick, brown fox jumps over a lazy dog. DJs flock by when MTV ax quiz prog. Junk MTV quiz graced by fox whelps. Bawds jog, flick quartz, vex nymphs.',
- image: '/assets/DemoSkeletonText/scenery/6.png',
- date: '14/01/2021',
- },
- {
- title: 'Lorem ipsum dolor',
- blurb:
- 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes.',
- image: '/assets/DemoSkeletonText/scenery/7.png',
- date: '04/01/2021',
- },
- {
- title: 'Lorem ipsum dolor',
- blurb:
- 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes.',
- image: '/assets/DemoSkeletonText/scenery/8.png',
- date: '04/01/2021',
- },
- {
- title: 'Lorem ipsum dolor',
- blurb:
- 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes.',
- image: '/assets/DemoSkeletonText/scenery/9.png',
- date: '04/01/2021',
- },
- {
- title: 'Lorem ipsum dolor',
- blurb:
- 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes.',
- image: '/assets/DemoSkeletonText/scenery/10.png',
- date: '04/01/2021',
- },
-];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/index.tsx
deleted file mode 100644
index 1e3d8e9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/index.tsx
+++ /dev/null
@@ -1,24 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-import Home from './pages/Home';
-
-function DemoSkeletonText() {
- return (
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoSkeletonText;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/pages/Home.scss b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/pages/Home.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/pages/Home.tsx
deleted file mode 100644
index 83d400f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/pages/Home.tsx
+++ /dev/null
@@ -1,63 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import './Home.scss';
-
-import { fakePosts } from '../data';
-import React, { useEffect, useState } from 'react';
-import { Posts } from '../components/Posts';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Home = (): React.JSX.Element => {
- const [posts, setPosts] = useState([]);
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- useEffect(() => {
- setTimeout(() => setPosts(fakePosts), 2000);
- }, []);
-
- return (
-
-
-
- Posts TS
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Posts TS
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/theme/variables.css b/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/theme/variables.css
deleted file mode 100644
index 088e83c..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSkeletonText/theme/variables.css
+++ /dev/null
@@ -1,77 +0,0 @@
-/* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
-/** Ionic CSS Variables **/
-:root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Home.jsx b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Home.jsx
deleted file mode 100644
index 5f2bc27..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Home.jsx
+++ /dev/null
@@ -1,70 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonItem,
- IonLabel,
- IonList,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { people } from '../data';
-import styles from './Home.module.scss';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Home = () => {
- const router = useIonRouter();
-
- function handleBackClick() {
- router.goBack();
- }
- return (
-
-
-
- Profiles
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
- Profiles
-
-
-
-
- {people.map((person, index) => {
- return (
-
-
-
- {person.name}
- {person.location}
-
-
- );
- })}
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Home.module.scss b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Home.module.scss
deleted file mode 100644
index 9db1def..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Home.module.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-.listAvatar {
-
- height: 3rem;
- width: 3rem;
- border-radius: 500px;
- margin-right: 1.5rem;
-}
-
-.listItem {
-
- padding: 0.3rem;
-
- ion-label {
-
- padding-bottom: 1rem;
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Profile.jsx b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Profile.jsx
deleted file mode 100644
index bc90a6a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Profile.jsx
+++ /dev/null
@@ -1,155 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonContent,
- IonGrid,
- IonHeader,
- IonIcon,
- IonNote,
- IonPage,
- IonRow,
- useIonRouter,
- useIonViewWillEnter,
-} from '@ionic/react';
-import { chevronBack } from 'ionicons/icons';
-import { useEffect } from 'react';
-import { useRef, useState } from 'react';
-import { useParams } from 'react-router';
-
-import { Swiper, SwiperSlide } from 'swiper/react';
-// import 'swiper/swiper.scss';
-import 'swiper/css';
-
-import { collections, people, tags } from '../data';
-
-import styles from './Profile.module.scss';
-
-const Profile = () => {
- const { id } = useParams();
- const router = useIonRouter();
- const headingRef = useRef(null);
- const [slideSpace, setSlideSpace] = useState(0);
- const [profile, setProfile] = useState([]);
-
- useIonViewWillEnter(() => {
- setSlideSpace(5);
- });
-
- useEffect(() => {
- headingRef.current.classList.add('animate__slideInLeft');
- headingRef.current.style.display = '';
- }, []);
-
- useEffect(() => {
- const getProfile = async () => {
- const person = await people.filter((person) => parseInt(person.id) === parseInt(id))[0];
- setProfile(person);
- };
-
- getProfile();
- }, [id]);
-
- return (
-
-
-
-
-
-
-
router.goBack()}>
-
-
-
-
-
-
-
-
-
-
-
- {profile.name}
- {profile.location}
-
-
-
- Purchased
- {profile.purchased}
-
-
-
- Wished
- {profile.wished}
-
-
-
- Likes
- {profile.likes}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Collection
-
-
-
-
-
-
- {collections.map((collection, index) => {
- return (
-
-
-
-
-
- {collection.name}
- {collection.no} wardrobes
-
-
-
- );
- })}
-
-
-
-
-
-
- Tags
-
-
-
-
- {tags.map((tag, index) => {
- return (
-
- {tag}
-
- );
- })}
-
-
-
-
- );
-};
-
-export default Profile;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Profile.module.scss b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Profile.module.scss
deleted file mode 100644
index 27ddf76..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Profile.module.scss
+++ /dev/null
@@ -1,152 +0,0 @@
-.customHeader {
-
- background-color: white;
-}
-
-.avatar {
-
- border-radius: 10px !important;
- height: 7.5rem;
- width: 7.5rem;
- z-index: 10;
- box-shadow: rgba(50, 50, 93, 0.25) 0p\x 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
-}
-
-.customBackButton {
-
- position: absolute;
- top: 2rem;
- left: 1rem;
- font-size: 1.75rem;
- display: flex;
- flex-direction: row;
- align-content: center;
- align-items: center;
- justify-content: center;
-
- svg {
-
- color: rgb(255, 255, 255);
- height: 1.75rem;
- width: 1.75rem;
- }
-}
-
-.mainContent {
-
- margin-top: -12.2rem !important;
- z-index: 99;
-}
-
-.profileHeaderContainer {
-
- display: flex;
- flex-direction: column;
- align-items: center;
- align-content: center;
- justify-content: center;
- width: 100%;
-}
-
-.profileHeader {
-
- $grad_color: #f8f8f8;
- $main_color: white;
- margin-top: -4rem;
- z-index: -1;
- width: 100%;
- opacity: 90%;
-
- // background:
- // linear-gradient(135deg, $grad_color 25%, transparent 25%) -50px 0,
- // linear-gradient(225deg, $grad_color 25%, transparent 25%) -50px 0,
- // linear-gradient(315deg, $grad_color 25%, transparent 25%),
- // linear-gradient(45deg, $grad_color 25%, transparent 25%);
- // background-size: 100px 100px;
- // background-color: $main_color;
-}
-
-.profileDetails {
-
- margin-top: 3rem;
- text-align: center;
-
- ion-card-title {
-
- font-size: 1.2rem;
- margin-top: 1rem;
- color: rgb(85, 85, 85);
- }
-
- p {
-
- font-size: 0.75rem;
- color: #94c8fe;
- margin-top: 0.2rem;
- }
-}
-
-.profileStats {
-
- margin-top: 2rem;
-}
-
-.title {
-
- margin-top: -0.8rem;
- font-size: 1.2rem;
- color: rgb(85, 85, 85);
-}
-
-.collections {
-
- margin-top: -1.2rem;
-}
-
-.collectionCard {
-
- width: 8rem;
- height: 10rem;
-
- img {
-
- height: 100%;
- width: 100%;
- }
-
- .collectionDetails {
-
- position: relative;
- bottom: 4rem;
- margin-left: 1rem;
- background-color:rgba(36, 36, 36, 0.6);
- padding: 0.5rem;
- border-top-left-radius: 10px;
- border-bottom-left-radius: 10px;
- }
-
- ion-card-title {
-
- color: white;
- font-size: 0.9rem;
- }
-
- ion-note {
-
- color: white;
- font-size: 0.6rem;
- }
-}
-
-.tag {
-
- border-radius: 30px;
- font-size: 0.8rem;
- padding: 0.5rem;
- font-weight: 600;
- color: white;
- text-align: center;
- background: rgb(111,130,224);
- background: linear-gradient(0deg, rgba(111,130,224,1) 26%, rgba(70,161,231,1) 82%);
- border: 5px solid white;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab1.css b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab1.css
deleted file mode 100644
index 37c5c75..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab1.css
+++ /dev/null
@@ -1,8 +0,0 @@
-
-.list-avatar {
-
- height: 3rem;
- width: 3rem;
- border-radius: 500px;
- margin-right: 1.5rem;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab2.css b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab2.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab2.jsx
deleted file mode 100644
index f09edf4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab2.css';
-
-const Tab2 = () => {
- return (
-
-
-
- Tab 2
-
-
-
-
-
- Tab 2
-
-
-
-
-
- );
-};
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab3.css b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab3.css
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab3.jsx b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab3.jsx
deleted file mode 100644
index 903b1a0..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/AppPages/Tab3.jsx
+++ /dev/null
@@ -1,25 +0,0 @@
-import { IonContent, IonHeader, IonPage, IonTitle, IonToolbar } from '@ionic/react';
-import ExploreContainer from '../components/ExploreContainer';
-import './Tab3.css';
-
-const Tab3 = () => {
- return (
-
-
-
- Tab 3
-
-
-
-
-
- Tab 3
-
-
-
-
-
- );
-};
-
-export default Tab3;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/NOTES.md
deleted file mode 100644
index 3abec63..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0167
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/components/ExploreContainer.css b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/components/ExploreContainer.css
deleted file mode 100644
index e99f514..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/components/ExploreContainer.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.container {
- text-align: center;
- position: absolute;
- left: 0;
- right: 0;
- top: 50%;
- transform: translateY(-50%);
-}
-
-.container strong {
- font-size: 20px;
- line-height: 26px;
-}
-
-.container p {
- font-size: 16px;
- line-height: 22px;
- color: #8c8c8c;
- margin: 0;
-}
-
-.container a {
- text-decoration: none;
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/components/ExploreContainer.jsx b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/components/ExploreContainer.jsx
deleted file mode 100644
index 799b82a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/components/ExploreContainer.jsx
+++ /dev/null
@@ -1,21 +0,0 @@
-import './ExploreContainer.css';
-
-const ExploreContainer = ({ name }) => {
- return (
-
- );
-};
-
-export default ExploreContainer;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/data/index.js b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/data/index.js
deleted file mode 100644
index 5f50286..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/data/index.js
+++ /dev/null
@@ -1,87 +0,0 @@
-export const people = [
- {
- id: 1,
- name: 'Jane Doe',
- image: '/assets/DemoSlidingProfile/avatar1.png',
- cover: '/assets/DemoSlidingProfile/flower.jpeg',
- location: 'Belfast, Northern Ireland',
- purchased: 120,
- wished: 271,
- likes: '12K',
- },
- {
- id: 2,
- name: 'Joe Bloggs',
- image: '/assets/DemoSlidingProfile/avatar2.png',
- cover: '/assets/DemoSlidingProfile/cover4.jpeg',
- location: 'New York City, America',
- purchased: 91,
- wished: 811,
- likes: '102K',
- },
- {
- id: 3,
- name: 'Antonio Romero',
- image: '/assets/DemoSlidingProfile/avatar4.png',
- cover: '/assets/DemoSlidingProfile/cover1.jpeg',
- location: 'Cambodia, Asia',
- purchased: 91,
- wished: 811,
- likes: '102K',
- },
- {
- id: 4,
- name: 'Aditi Conner',
- image: '/assets/DemoSlidingProfile/avatar3.png',
- cover: '/assets/DemoSlidingProfile/cover5.jpeg',
- location: 'Antartica',
- purchased: 91,
- wished: 811,
- likes: '102K',
- },
- {
- id: 5,
- name: 'Martina Salas',
- image: '/assets/DemoSlidingProfile/avatar5.png',
- cover: '/assets/DemoSlidingProfile/cover2.jpeg',
- location: 'South Africa',
- purchased: 91,
- wished: 811,
- likes: '102K',
- },
- {
- id: 6,
- name: 'Dayna Grimes',
- image: '/assets/DemoSlidingProfile/avatar6.png',
- cover: '/assets/DemoSlidingProfile/cover6.jpeg',
- location: 'China',
- purchased: 91,
- wished: 811,
- likes: '102K',
- },
-];
-
-export const collections = [
- {
- name: 'Winter',
- image: '/assets/DemoSlidingProfile/winter.png',
- no: 95,
- },
- {
- name: 'Summer',
- image: '/assets/DemoSlidingProfile/summer.png',
- no: 73,
- },
- {
- name: 'Autumn',
- image: '/assets/DemoSlidingProfile/autumn.png',
- no: 32,
- },
- {
- name: 'Spring',
- image: '/assets/DemoSlidingProfile/spring.png',
- no: 18,
- },
-];
-
-export const tags = ['Jackets', 'Shirts', 'Jeans', 'Sweaters', 'Coats'];
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/index.tsx
deleted file mode 100644
index 228f5b8..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/index.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, home, menu, notifications, search, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab2 from './AppPages/Tab2';
-import Home from './AppPages/Home';
-import Profile from './AppPages/Profile';
-
-function DemoSlidingProfile() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoSlidingProfile;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/style.scss b/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/style.scss
deleted file mode 100644
index 4a24588..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoSlidingProfile/style.scss
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
-Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/
-*/
-
-/** Ionic CSS Variables **/
-.demo-sliding-profile {
- * {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-
- .nav-avatar {
- border-radius: 500px;
- height: 2.5rem;
- width: 2.5rem;
- box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
- }
-
- ion-tab-button {
- height: 1.4rem;
- }
-
- .avatar-tab-button {
- height: 2.5rem;
- width: 2.5rem;
- }
-
- ion-header,
- ion-toolbar {
- border: none;
- --border-style: transparent;
- --border-width: 0px;
- }
-
- * {
- font-family: 'Nunito', sans-serif !important;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/AppPages/Tab1.jsx b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/AppPages/Tab1.jsx
deleted file mode 100644
index 54ab2b9..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/AppPages/Tab1.jsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../components/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab1() {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/AppPages/Tab2.jsx b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/AppPages/Tab2.jsx
deleted file mode 100644
index 216544f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/AppPages/Tab2.jsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import { useState } from 'react';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab2() {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/NOTES.md
deleted file mode 100644
index 4a72ceb..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0168
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index 52949af..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,62 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({ type, currentWeather }: { type: any; currentWeather: any }) => {
- const [property, setProperty] = useState(false);
-
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- useEffect(() => {
- setProperty(properties[type]);
- }, [type]);
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/components/BottomSheet.tsx b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/components/BottomSheet.tsx
deleted file mode 100644
index e7396c6..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/components/BottomSheet.tsx
+++ /dev/null
@@ -1,54 +0,0 @@
-import { IonCol, IonGrid, IonModal, IonRow, IonSearchbar } from '@ionic/react';
-import { OverlayEventDetail } from '@ionic/react/dist/types/components/react-component-lib/interfaces';
-import { useState } from 'react';
-import { BottomSheetContent } from './BottomSheetContent';
-import { DummyItem } from './DummyItem';
-
-interface BottomSheetProps {
- isOpen: boolean;
- close: (event: CustomEvent>) => void;
-}
-
-export const BottomSheet: React.FC = ({ isOpen, close }) => {
- const amountOfDummyItems = 10;
- const [search, setSearch] = useState('');
-
- const handleChange = (e: any) => {
- setSearch(e.target.value);
- };
-
- return (
-
-
-
-
-
-
-
-
- {/* Check the comments insside BottomSheetContent component */}
- {/* Regarding the scrolling of "content" inside a sheet modal */}
-
- {[...Array(amountOfDummyItems)].map((e, i) => {
- if (search.includes(i.toString()) || search === '') {
- return ;
- } else {
- return '';
- }
- })}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/components/BottomSheetContent.tsx b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/components/BottomSheetContent.tsx
deleted file mode 100644
index 367cc1b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/components/BottomSheetContent.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-export const BottomSheetContent: React.FC = ({ children }) => {
- return (
- // Some work needed for inner content of a sheet-modal
- // Scroll is a bit buggy when sheet is full height
- // Scroll the content down, then try and scroll up
-
- // Maybe some functionality needed on the Sheet Modal component to keep track of inner content scroll position and only interact with modal if scroll position of inner content is back to top OR if only interacting with the modal container (edges, top, etc)
-
- // Applied this CSS just to make it work 50% of the way to test
-
- {children}
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/components/DummyItem.tsx b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/components/DummyItem.tsx
deleted file mode 100644
index cbb9dc5..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/components/DummyItem.tsx
+++ /dev/null
@@ -1,18 +0,0 @@
-import { IonCard, IonCardContent, IonLabel } from '@ionic/react';
-
-interface DummyItemProps {
- number: number;
-}
-
-export const DummyItem: React.FC = ({ number }) => {
- return (
-
-
-
- Item number {number}
- This is a dummy item
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/index.tsx
deleted file mode 100644
index 35058cb..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/index.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { IonRouterOutlet, IonTabs } from '@ionic/react';
-
-import { Route, Redirect } from 'react-router';
-
-import './theme/variables.scss';
-import Home from './pages/Home';
-import React from 'react';
-
-function DemoStickyBottomSheetExample(): React.JSX.Element {
- return (
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoStickyBottomSheetExample;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/pages/Home.scss b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/pages/Home.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/pages/Home.tsx
deleted file mode 100644
index 597e11b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/pages/Home.tsx
+++ /dev/null
@@ -1,66 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import React, { useState } from 'react';
-import { BottomSheet } from '../components/BottomSheet';
-import './Home.scss';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Home = (): React.JSX.Element => {
- const [showBottomSheet, setShowBottomSheet] = useState(true);
-
- const handleClose = () => {
- setShowBottomSheet(false);
- setTimeout(() => {
- setShowBottomSheet(true);
- }, 10);
- };
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Ionic Sticky Bottom Sheet
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
- Sticky Bottom Sheet
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/theme/variables.scss
deleted file mode 100644
index 284a0fe..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStickyBottomSheetExample/theme/variables.scss
+++ /dev/null
@@ -1,235 +0,0 @@
-.demo-sticky-bottom-sheet-example {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- /** Ionic CSS Variables **/
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
-
- @media (prefers-color-scheme: dark) {
- /*
- * Dark Colors
- * -------------------------------------------
- */
-
- body {
- --ion-color-primary: #428cff;
- --ion-color-primary-rgb: 66, 140, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3a7be0;
- --ion-color-primary-tint: #5598ff;
-
- --ion-color-secondary: #50c8ff;
- --ion-color-secondary-rgb: 80, 200, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #46b0e0;
- --ion-color-secondary-tint: #62ceff;
-
- --ion-color-tertiary: #6a64ff;
- --ion-color-tertiary-rgb: 106, 100, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #5d58e0;
- --ion-color-tertiary-tint: #7974ff;
-
- --ion-color-success: #2fdf75;
- --ion-color-success-rgb: 47, 223, 117;
- --ion-color-success-contrast: #000000;
- --ion-color-success-contrast-rgb: 0, 0, 0;
- --ion-color-success-shade: #29c467;
- --ion-color-success-tint: #44e283;
-
- --ion-color-warning: #ffd534;
- --ion-color-warning-rgb: 255, 213, 52;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0bb2e;
- --ion-color-warning-tint: #ffd948;
-
- --ion-color-danger: #ff4961;
- --ion-color-danger-rgb: 255, 73, 97;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #e04055;
- --ion-color-danger-tint: #ff5b71;
-
- --ion-color-dark: #f4f5f8;
- --ion-color-dark-rgb: 244, 245, 248;
- --ion-color-dark-contrast: #000000;
- --ion-color-dark-contrast-rgb: 0, 0, 0;
- --ion-color-dark-shade: #d7d8da;
- --ion-color-dark-tint: #f5f6f9;
-
- --ion-color-medium: #989aa2;
- --ion-color-medium-rgb: 152, 154, 162;
- --ion-color-medium-contrast: #000000;
- --ion-color-medium-contrast-rgb: 0, 0, 0;
- --ion-color-medium-shade: #86888f;
- --ion-color-medium-tint: #a2a4ab;
-
- --ion-color-light: #222428;
- --ion-color-light-rgb: 34, 36, 40;
- --ion-color-light-contrast: #ffffff;
- --ion-color-light-contrast-rgb: 255, 255, 255;
- --ion-color-light-shade: #1e2023;
- --ion-color-light-tint: #383a3e;
- }
-
- /*
- * iOS Dark Theme
- * -------------------------------------------
- */
-
- .ios body {
- --ion-background-color: #000000;
- --ion-background-color-rgb: 0, 0, 0;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-color-step-50: #0d0d0d;
- --ion-color-step-100: #1a1a1a;
- --ion-color-step-150: #262626;
- --ion-color-step-200: #333333;
- --ion-color-step-250: #404040;
- --ion-color-step-300: #4d4d4d;
- --ion-color-step-350: #595959;
- --ion-color-step-400: #666666;
- --ion-color-step-450: #737373;
- --ion-color-step-500: #808080;
- --ion-color-step-550: #8c8c8c;
- --ion-color-step-600: #999999;
- --ion-color-step-650: #a6a6a6;
- --ion-color-step-700: #b3b3b3;
- --ion-color-step-750: #bfbfbf;
- --ion-color-step-800: #cccccc;
- --ion-color-step-850: #d9d9d9;
- --ion-color-step-900: #e6e6e6;
- --ion-color-step-950: #f2f2f2;
-
- --ion-item-background: #000000;
-
- --ion-card-background: #1c1c1d;
- }
-
- .ios ion-modal {
- --ion-background-color: var(--ion-color-step-100);
- --ion-toolbar-background: var(--ion-color-step-150);
- --ion-toolbar-border-color: var(--ion-color-step-250);
- }
-
- /*
- * Material Design Dark Theme
- * -------------------------------------------
- */
-
- .md body {
- --ion-background-color: #121212;
- --ion-background-color-rgb: 18, 18, 18;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-border-color: #222222;
-
- --ion-color-step-50: #1e1e1e;
- --ion-color-step-100: #2a2a2a;
- --ion-color-step-150: #363636;
- --ion-color-step-200: #414141;
- --ion-color-step-250: #4d4d4d;
- --ion-color-step-300: #595959;
- --ion-color-step-350: #656565;
- --ion-color-step-400: #717171;
- --ion-color-step-450: #7d7d7d;
- --ion-color-step-500: #898989;
- --ion-color-step-550: #949494;
- --ion-color-step-600: #a0a0a0;
- --ion-color-step-650: #acacac;
- --ion-color-step-700: #b8b8b8;
- --ion-color-step-750: #c4c4c4;
- --ion-color-step-800: #d0d0d0;
- --ion-color-step-850: #dbdbdb;
- --ion-color-step-900: #e7e7e7;
- --ion-color-step-950: #f3f3f3;
-
- --ion-item-background: #1e1e1e;
-
- --ion-toolbar-background: #1f1f1f;
-
- --ion-tab-bar-background: #1f1f1f;
-
- --ion-card-background: #1e1e1e;
- }
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/AppPages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/AppPages/Tab1.tsx
deleted file mode 100644
index d0329ce..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/AppPages/Tab1.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../TestComponents/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab1(): React.JSX.Element {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords: any) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/AppPages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/AppPages/Tab2.tsx
deleted file mode 100644
index 0cace9f..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/AppPages/Tab2.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import React, { useState } from 'react';
-import { CurrentWeather } from '../TestComponents/CurrentWeather';
-
-function Tab2(): React.JSX.Element {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city: string) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- e.target.value && setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/NOTES.md
deleted file mode 100644
index 3590a17..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0169
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/TestComponents/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/TestComponents/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index c045cb7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/TestComponents/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,83 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({
- type,
- currentWeather,
-}: {
- type: string;
- currentWeather: any;
-}) => {
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- const [property, setProperty] = useState();
-
- useEffect(() => {
- switch (type) {
- case 'wind':
- setProperty(properties.wind);
- break;
- case 'feelsLike':
- setProperty(properties.feelsLike);
- break;
- case 'pressure':
- setProperty(properties.pressure);
- break;
- case 'indexUV':
- setProperty(properties.indexUV);
- break;
- }
- }, [type]);
-
- if (!property) return <>loading>;
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/TestComponents/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/TestComponents/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/TestComponents/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/TestComponents/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/TestComponents/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/TestComponents/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/components/MessageListItem.scss b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/components/MessageListItem.scss
deleted file mode 100644
index 1e81e87..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/components/MessageListItem.scss
+++ /dev/null
@@ -1,61 +0,0 @@
-.DemoStorageExample {
- ion-item {
- --padding-start: 0;
- --inner-padding-end: 0;
- }
-
- ion-label {
- margin-top: 12px;
- margin-bottom: 12px;
- }
-
- ion-item h2 {
- font-weight: 600;
- margin: 0;
- }
-
- ion-item p {
- text-overflow: ellipsis;
- overflow: hidden;
- white-space: nowrap;
- width: 95%;
- }
-
- ion-item .date {
- float: right;
- align-items: center;
- display: flex;
- }
-
- ion-item ion-icon {
- color: #c9c9ca;
- }
-
- ion-item ion-note {
- font-size: 15px;
- margin-right: 8px;
- font-weight: normal;
- }
-
- ion-item ion-note.md {
- margin-right: 14px;
- }
-
- .dot {
- display: block;
- height: 12px;
- width: 12px;
- border-radius: 50%;
- align-self: start;
- margin: 16px 10px 16px 16px;
- }
-
- .dot-unread {
- background: var(--ion-color-primary);
- }
-
- ion-footer ion-title {
- font-size: 11px;
- font-weight: normal;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/components/MessageListItem.tsx b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/components/MessageListItem.tsx
deleted file mode 100644
index 95bbefd..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/components/MessageListItem.tsx
+++ /dev/null
@@ -1,27 +0,0 @@
-import { IonItem, IonLabel, IonNote } from '@ionic/react';
-import { getContacts } from '../data/contacts';
-import './MessageListItem.scss';
-import React from 'react';
-import { rawMessage } from '../data/messages';
-
-const MessageListItem = ({ message }: { message: typeof rawMessage }): React.JSX.Element => {
- const contacts = getContacts();
-
- return (
-
-
-
-
- {contacts.filter((c: any) => parseInt(c.id) === parseInt(message.fromId))[0].name}
-
- {message.date}
-
-
- {message.subject}
- {message.body}
-
-
- );
-};
-
-export default MessageListItem;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/data/IonicStorage.ts b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/data/IonicStorage.ts
deleted file mode 100644
index d4c093e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/data/IonicStorage.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { Storage, Drivers } from '@ionic/storage';
-
-let storage: any;
-
-export const createStore = (name = '__mydb') => {
- storage = new Storage({
- name,
- driverOrder: [Drivers.IndexedDB, Drivers.LocalStorage],
- });
-
- storage.create();
-};
-
-export const set = (key: any, val: any) => {
- if (storage) {
- storage.set(key, val);
- }
-};
-
-export const get = async (key: string) => {
- if (storage) {
- const val = await storage.get(key);
- return val;
- } else {
- return null;
- }
-};
-
-export const remove = async (key: string) => {
- await storage.remove(key);
-};
-
-export const clear = async () => {
- await storage.clear();
-};
-
-export const setObject = async (key: string, id: string, val: string) => {
- const all = await storage.get(key);
- const objIndex = await all.findIndex((a: any) => parseInt(a.id) === parseInt(id));
-
- all[objIndex] = val;
- set(key, all);
-};
-
-export const removeObject = async (key: string, id: string) => {
- const all = await storage.get(key);
- const objIndex = await all.findIndex(
- (a: { id: string | number }) => parseInt(a.id.toString()) === parseInt(id)
- );
-
- all.splice(objIndex, 1);
- set(key, all);
-};
-
-export const getObject = async (key: string, id: string) => {
- const all = await storage.get(key);
- const obj = await all.filter(
- (a: { id: string | number }) => parseInt(a.id.toString()) === parseInt(id)
- )[0];
- return obj;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/data/contacts.ts b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/data/contacts.ts
deleted file mode 100644
index b7aafba..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/data/contacts.ts
+++ /dev/null
@@ -1,36 +0,0 @@
-const contacts = [
- {
- name: 'Matt Chorsey',
- id: 0,
- },
- {
- name: 'Lauren Ruthford',
- id: 1,
- },
- {
- name: 'Jordan Firth',
- id: 2,
- },
- {
- name: 'Bill Thomas',
- id: 3,
- },
- {
- name: 'Joanne Pollan',
- id: 4,
- },
- {
- name: 'Andrea Cornerston',
- id: 5,
- },
- {
- name: 'Moe Chamont',
- id: 6,
- },
- {
- name: 'Kelly Richardson',
- id: 7,
- },
-];
-
-export const getContacts = () => contacts;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/data/messages.ts b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/data/messages.ts
deleted file mode 100644
index f29716e..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/data/messages.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-export const rawMessages = [
- {
- fromId: 0,
- subject: 'New event: Trip to Vegas',
- body: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Utenim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
- date: '9:32 AM',
- id: 0,
- },
- {
- fromId: 1,
- subject: 'Long time no chat',
- body: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Utenim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
- date: '6:12 AM',
- id: 1,
- },
- {
- fromId: 2,
- subject: 'Report Results',
- body: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Utenim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
- date: '4:55 AM',
- id: 2,
- },
- {
- fromId: 3,
- subject: 'The situation',
- body: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Utenim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
- date: 'Yesterday',
- id: 3,
- },
- {
- fromId: 4,
- subject: 'Updated invitation: Swim lessons',
- body: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Utenim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
- date: 'Yesterday',
- id: 4,
- },
- {
- fromId: 5,
- subject: 'Last minute ask',
- body: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Utenim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
- date: 'Yesterday',
- id: 5,
- },
- {
- fromId: 6,
- subject: 'Family Calendar - Version 1',
- body: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Utenim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
- date: 'Last Week',
- id: 6,
- },
- {
- fromId: 7,
- subject: 'Placeholder Headhots',
- body: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Utenim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.',
- date: 'Last Week',
- id: 7,
- },
-];
-
-export const rawMessage = rawMessages[0];
-
-export const getMessages = () => rawMessages;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/index.tsx
deleted file mode 100644
index d48df03..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/index.tsx
+++ /dev/null
@@ -1,31 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-// import Tab1 from './AppPages/Tab1';
-// import Tab2 from './AppPages/Tab2';
-
-import Home from './pages/Home';
-import ViewMessage from './pages/ViewMessage';
-
-import './theme/variables.scss';
-
-function DemoStorageExample() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- );
-}
-
-export default DemoStorageExample;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/pages/Home.scss b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/pages/Home.scss
deleted file mode 100644
index e69de29..0000000
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/pages/Home.tsx b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/pages/Home.tsx
deleted file mode 100644
index fbb6405..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/pages/Home.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import MessageListItem from '../components/MessageListItem';
-import React, { JSX, useState } from 'react';
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonList,
- IonPage,
- IonRefresher,
- IonRefresherContent,
- IonTitle,
- IonToolbar,
- useIonRouter,
- useIonViewWillEnter,
-} from '@ionic/react';
-
-import './Home.scss';
-
-import { get, set } from '../data/IonicStorage';
-import { getMessages, rawMessages } from '../data/messages';
-import { chevronBackOutline } from 'ionicons/icons';
-
-const Home = (): JSX.Element => {
- const [messages, setMessages] = useState([]);
-
- useIonViewWillEnter(async () => {
- const exists = await get('msgs');
-
- if (!exists) {
- const msgs = getMessages();
- set('msgs', msgs);
- setMessages(msgs);
- } else {
- setMessages(exists);
- }
- });
-
- const refresh = (e: any) => {
- resetStore();
- setTimeout(() => {
- e.detail.complete();
- }, 1000);
- };
-
- const resetStore = async () => {
- const msgs = getMessages();
- set('msgs', msgs);
- setMessages(msgs);
- };
-
- const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- Inbox
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
-
-
-
-
- Inbox
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
- {messages && messages.map((m: any) => )}
-
-
-
- );
-};
-
-export default Home;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/pages/ViewMessage.scss b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/pages/ViewMessage.scss
deleted file mode 100644
index 3fa1634..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/pages/ViewMessage.scss
+++ /dev/null
@@ -1,42 +0,0 @@
-.demo-storage-example {
- #view-message-page ion-item {
- --inner-padding-end: 0;
- --background: transparent;
- }
-
- #view-message-page ion-label {
- margin-top: 12px;
- margin-bottom: 12px;
- }
-
- #view-message-page ion-item h2 {
- font-weight: 600;
- }
-
- #view-message-page ion-item .date {
- float: right;
- align-items: center;
- display: flex;
- }
-
- #view-message-page ion-item ion-icon {
- font-size: 42px;
- margin-right: 8px;
- }
-
- #view-message-page ion-item ion-note {
- font-size: 15px;
- margin-right: 12px;
- font-weight: normal;
- }
-
- #view-message-page h1 {
- margin: 0;
- font-weight: bold;
- font-size: 22px;
- }
-
- #view-message-page p {
- line-height: 22px;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/pages/ViewMessage.tsx b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/pages/ViewMessage.tsx
deleted file mode 100644
index eb5c2f4..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/pages/ViewMessage.tsx
+++ /dev/null
@@ -1,163 +0,0 @@
-import { useState } from 'react';
-import {
- IonBackButton,
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonInput,
- IonItem,
- IonLabel,
- IonNote,
- IonPage,
- IonSelect,
- IonSelectOption,
- IonTextarea,
- IonToast,
- IonToolbar,
- useIonViewWillEnter,
-} from '@ionic/react';
-import { checkmarkSharp, personCircle, trashOutline } from 'ionicons/icons';
-import { useHistory, useParams } from 'react-router';
-import './ViewMessage.scss';
-
-import { getObject, setObject, removeObject } from '../data/IonicStorage';
-import { getContacts } from '../data/contacts';
-
-function ViewMessage(): React.JSX.Element {
- const [message, setMessage] = useState<{
- id?: number;
- fromId?: number;
- subject?: string;
- body?: string;
- date?: string;
- }>();
- const [showToast, setShowToast] = useState({
- show: false,
- message: '',
- color: '',
- });
- const contacts = getContacts();
- const params = useParams<{ id: string }>();
- const history = useHistory();
-
- useIonViewWillEnter(async () => {
- const msg = await getObject('msgs', params.id);
- setMessage(msg);
- });
-
- const saveEmail = async () => {
- await setObject('msgs', params.id, message);
- setShowToast({
- show: true,
- message: 'Email has been saved.',
- color: 'primary',
- });
- };
-
- const removeEmail = async () => {
- await removeObject('msgs', params.id);
- setShowToast({
- show: true,
- message: 'Email has been removed.',
- color: 'danger',
- });
- history.goBack();
- };
-
- const handleChange = (key: any, val: any) => {
- setMessage({ ...message, [key]: val });
- };
-
- return (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {message ? (
- <>
-
-
-
-
- From:
-
- handleChange('fromId', parseInt((e.target as HTMLIonSelectElement).value))
- }
- >
- {contacts.map((contact, index) => {
- return (
-
- {contact.name}
-
- );
- })}
-
-
-
- {message.date}
-
- To: Me
-
-
-
-
-
- Subject
- handleChange('subject', e.currentTarget.value)}
- style={{ fontSize: '1.5rem', fontWeight: '400' }}
- />
-
-
-
-
-
- Body
- handleChange('body', (e.target as HTMLInputElement).value)}
- />
-
-
- >
- ) : (
- Message not found
- )}
-
-
- setShowToast({ show: false, message: '', color: 'red' })}
- message={showToast.message}
- duration={2000}
- color={showToast.color}
- />
-
- );
-}
-
-export default ViewMessage;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/theme/variables.scss b/03_source/mobile.trunk.1/src/pages/DemoStorageExample/theme/variables.scss
deleted file mode 100644
index e822644..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoStorageExample/theme/variables.scss
+++ /dev/null
@@ -1,237 +0,0 @@
-.demo-storage-example {
- /* Ionic Variables and Theming. For more info, please see:
-http://ionicframework.com/docs/theming/ */
-
- /** Ionic CSS Variables **/
- :root {
- /** primary **/
- --ion-color-primary: #3880ff;
- --ion-color-primary-rgb: 56, 128, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3171e0;
- --ion-color-primary-tint: #4c8dff;
-
- /** secondary **/
- --ion-color-secondary: #3dc2ff;
- --ion-color-secondary-rgb: 61, 194, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #36abe0;
- --ion-color-secondary-tint: #50c8ff;
-
- /** tertiary **/
- --ion-color-tertiary: #5260ff;
- --ion-color-tertiary-rgb: 82, 96, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #4854e0;
- --ion-color-tertiary-tint: #6370ff;
-
- /** success **/
- --ion-color-success: #2dd36f;
- --ion-color-success-rgb: 45, 211, 111;
- --ion-color-success-contrast: #ffffff;
- --ion-color-success-contrast-rgb: 255, 255, 255;
- --ion-color-success-shade: #28ba62;
- --ion-color-success-tint: #42d77d;
-
- /** warning **/
- --ion-color-warning: #ffc409;
- --ion-color-warning-rgb: 255, 196, 9;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0ac08;
- --ion-color-warning-tint: #ffca22;
-
- /** danger **/
- --ion-color-danger: #eb445a;
- --ion-color-danger-rgb: 235, 68, 90;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #cf3c4f;
- --ion-color-danger-tint: #ed576b;
-
- /** dark **/
- --ion-color-dark: #222428;
- --ion-color-dark-rgb: 34, 36, 40;
- --ion-color-dark-contrast: #ffffff;
- --ion-color-dark-contrast-rgb: 255, 255, 255;
- --ion-color-dark-shade: #1e2023;
- --ion-color-dark-tint: #383a3e;
-
- /** medium **/
- --ion-color-medium: #92949c;
- --ion-color-medium-rgb: 146, 148, 156;
- --ion-color-medium-contrast: #ffffff;
- --ion-color-medium-contrast-rgb: 255, 255, 255;
- --ion-color-medium-shade: #808289;
- --ion-color-medium-tint: #9d9fa6;
-
- /** light **/
- --ion-color-light: #f4f5f8;
- --ion-color-light-rgb: 244, 245, 248;
- --ion-color-light-contrast: #000000;
- --ion-color-light-contrast-rgb: 0, 0, 0;
- --ion-color-light-shade: #d7d8da;
- --ion-color-light-tint: #f5f6f9;
- }
-
- @media (prefers-color-scheme: dark) {
- /*
- * Dark Colors
- * -------------------------------------------
- */
-
- body {
- --ion-color-primary: #428cff;
- --ion-color-primary-rgb: 66, 140, 255;
- --ion-color-primary-contrast: #ffffff;
- --ion-color-primary-contrast-rgb: 255, 255, 255;
- --ion-color-primary-shade: #3a7be0;
- --ion-color-primary-tint: #5598ff;
-
- --ion-color-secondary: #50c8ff;
- --ion-color-secondary-rgb: 80, 200, 255;
- --ion-color-secondary-contrast: #ffffff;
- --ion-color-secondary-contrast-rgb: 255, 255, 255;
- --ion-color-secondary-shade: #46b0e0;
- --ion-color-secondary-tint: #62ceff;
-
- --ion-color-tertiary: #6a64ff;
- --ion-color-tertiary-rgb: 106, 100, 255;
- --ion-color-tertiary-contrast: #ffffff;
- --ion-color-tertiary-contrast-rgb: 255, 255, 255;
- --ion-color-tertiary-shade: #5d58e0;
- --ion-color-tertiary-tint: #7974ff;
-
- --ion-color-success: #2fdf75;
- --ion-color-success-rgb: 47, 223, 117;
- --ion-color-success-contrast: #000000;
- --ion-color-success-contrast-rgb: 0, 0, 0;
- --ion-color-success-shade: #29c467;
- --ion-color-success-tint: #44e283;
-
- --ion-color-warning: #ffd534;
- --ion-color-warning-rgb: 255, 213, 52;
- --ion-color-warning-contrast: #000000;
- --ion-color-warning-contrast-rgb: 0, 0, 0;
- --ion-color-warning-shade: #e0bb2e;
- --ion-color-warning-tint: #ffd948;
-
- --ion-color-danger: #ff4961;
- --ion-color-danger-rgb: 255, 73, 97;
- --ion-color-danger-contrast: #ffffff;
- --ion-color-danger-contrast-rgb: 255, 255, 255;
- --ion-color-danger-shade: #e04055;
- --ion-color-danger-tint: #ff5b71;
-
- --ion-color-dark: #f4f5f8;
- --ion-color-dark-rgb: 244, 245, 248;
- --ion-color-dark-contrast: #000000;
- --ion-color-dark-contrast-rgb: 0, 0, 0;
- --ion-color-dark-shade: #d7d8da;
- --ion-color-dark-tint: #f5f6f9;
-
- --ion-color-medium: #989aa2;
- --ion-color-medium-rgb: 152, 154, 162;
- --ion-color-medium-contrast: #000000;
- --ion-color-medium-contrast-rgb: 0, 0, 0;
- --ion-color-medium-shade: #86888f;
- --ion-color-medium-tint: #a2a4ab;
-
- --ion-color-light: #222428;
- --ion-color-light-rgb: 34, 36, 40;
- --ion-color-light-contrast: #ffffff;
- --ion-color-light-contrast-rgb: 255, 255, 255;
- --ion-color-light-shade: #1e2023;
- --ion-color-light-tint: #383a3e;
- }
-
- /*
- * iOS Dark Theme
- * -------------------------------------------
- */
-
- .ios body {
- --ion-background-color: #000000;
- --ion-background-color-rgb: 0, 0, 0;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-color-step-50: #0d0d0d;
- --ion-color-step-100: #1a1a1a;
- --ion-color-step-150: #262626;
- --ion-color-step-200: #333333;
- --ion-color-step-250: #404040;
- --ion-color-step-300: #4d4d4d;
- --ion-color-step-350: #595959;
- --ion-color-step-400: #666666;
- --ion-color-step-450: #737373;
- --ion-color-step-500: #808080;
- --ion-color-step-550: #8c8c8c;
- --ion-color-step-600: #999999;
- --ion-color-step-650: #a6a6a6;
- --ion-color-step-700: #b3b3b3;
- --ion-color-step-750: #bfbfbf;
- --ion-color-step-800: #cccccc;
- --ion-color-step-850: #d9d9d9;
- --ion-color-step-900: #e6e6e6;
- --ion-color-step-950: #f2f2f2;
-
- --ion-item-background: #000000;
-
- --ion-card-background: #1c1c1d;
- }
-
- .ios ion-modal {
- --ion-background-color: var(--ion-color-step-100);
- --ion-toolbar-background: var(--ion-color-step-150);
- --ion-toolbar-border-color: var(--ion-color-step-250);
- }
-
- /*
- * Material Design Dark Theme
- * -------------------------------------------
- */
-
- .md body {
- --ion-background-color: #121212;
- --ion-background-color-rgb: 18, 18, 18;
-
- --ion-text-color: #ffffff;
- --ion-text-color-rgb: 255, 255, 255;
-
- --ion-border-color: #222222;
-
- --ion-color-step-50: #1e1e1e;
- --ion-color-step-100: #2a2a2a;
- --ion-color-step-150: #363636;
- --ion-color-step-200: #414141;
- --ion-color-step-250: #4d4d4d;
- --ion-color-step-300: #595959;
- --ion-color-step-350: #656565;
- --ion-color-step-400: #717171;
- --ion-color-step-450: #7d7d7d;
- --ion-color-step-500: #898989;
- --ion-color-step-550: #949494;
- --ion-color-step-600: #a0a0a0;
- --ion-color-step-650: #acacac;
- --ion-color-step-700: #b8b8b8;
- --ion-color-step-750: #c4c4c4;
- --ion-color-step-800: #d0d0d0;
- --ion-color-step-850: #dbdbdb;
- --ion-color-step-900: #e7e7e7;
- --ion-color-step-950: #f3f3f3;
-
- --ion-item-background: #1e1e1e;
-
- --ion-toolbar-background: #1f1f1f;
-
- --ion-tab-bar-background: #1f1f1f;
-
- --ion-card-background: #1e1e1e;
- }
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/AppPages/Tab1.tsx b/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/AppPages/Tab1.tsx
deleted file mode 100644
index ba31638..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/AppPages/Tab1.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonCol,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonRow,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-
-import { Geolocation } from '@capacitor/geolocation';
-import { useEffect, useState } from 'react';
-import { SkeletonDashboard } from '../components/SkeletonDashboard';
-import { chevronBackOutline, refreshOutline } from 'ionicons/icons';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab1(): React.JSX.Element {
- const router = useIonRouter();
-
- const [currentWeather, setCurrentWeather] = useState(false);
-
- useEffect(() => {
- getCurrentPosition();
- }, []);
-
- const getCurrentPosition = async () => {
- setCurrentWeather(false);
- const coordinates = await Geolocation.getCurrentPosition();
- getAddress(coordinates.coords);
- };
-
- const getAddress = async (coords: any) => {
- const query = `${coords.latitude},${coords.longitude}`;
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${query}`
- );
-
- const data = await response.json();
- console.log(data);
- setCurrentWeather(data);
- };
-
- // const router = useIonRouter();
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
- My Weather
-
-
- getCurrentPosition()}>
-
-
-
-
-
- handleBackClick()}>
-
-
-
-
-
-
-
-
- Dashboard
-
-
-
-
-
- Here's your location based weather
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
- )}
-
-
-
- );
-}
-
-export default Tab1;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/AppPages/Tab2.tsx b/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/AppPages/Tab2.tsx
deleted file mode 100644
index 702ba79..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/AppPages/Tab2.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-import {
- IonButton,
- IonCol,
- IonContent,
- IonHeader,
- IonPage,
- IonRow,
- IonSearchbar,
- IonTitle,
- IonToolbar,
-} from '@ionic/react';
-import React, { useState } from 'react';
-import { CurrentWeather } from '../components/CurrentWeather';
-
-function Tab2(): React.JSX.Element {
- const [search, setSearch] = useState('');
- const [currentWeather, setCurrentWeather] = useState(false);
-
- const performSearch = async () => {
- getAddress(search);
- };
-
- const getAddress = async (city: string) => {
- const response = await fetch(
- `https://api.weatherapi.com/v1/current.json?key=f93eb660b2424258bf5155016210712&q=${city}&aqi=no`
- );
- const data = await response.json();
-
- if (data && data.current && data.location) {
- setCurrentWeather(data);
- }
- };
-
- return (
-
-
-
- Search
-
-
-
-
-
- Search
-
-
-
-
-
- e.target.value && setSearch(e.target.value)}
- />
-
-
-
-
- Search
-
-
-
-
-
- {currentWeather ? (
-
- ) : (
-
Your search result will appear here
- )}
-
-
-
- );
-}
-
-export default Tab2;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/NOTES.md b/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/NOTES.md
deleted file mode 100644
index 76564fc..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/NOTES.md
+++ /dev/null
@@ -1 +0,0 @@
-# REQ0170
diff --git a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/components/CurrentWeather/WeatherProperty.tsx b/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/components/CurrentWeather/WeatherProperty.tsx
deleted file mode 100644
index c045cb7..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/components/CurrentWeather/WeatherProperty.tsx
+++ /dev/null
@@ -1,83 +0,0 @@
-import { IonCardSubtitle, IonCol, IonIcon, IonNote, IonRow } from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-import { useEffect, useState } from 'react';
-
-export const WeatherProperty = ({
- type,
- currentWeather,
-}: {
- type: string;
- currentWeather: any;
-}) => {
- const properties = {
- wind: {
- isIcon: false,
- icon: '/assets/WeatherDemo/wind.png',
- alt: 'wind',
- label: 'Wind',
- value: `${currentWeather.current.wind_mph}mph`,
- },
- feelsLike: {
- isIcon: true,
- icon: thermometerOutline,
- alt: 'feels like',
- label: 'Feels like',
- value: `${currentWeather.current.feelslike_c}°C`,
- },
- indexUV: {
- isIcon: true,
- icon: sunnyOutline,
- alt: 'index uv',
- label: 'Index UV',
- value: currentWeather.current.uv,
- },
- pressure: {
- isIcon: true,
- icon: pulseOutline,
- alt: 'pressure',
- label: 'Pressure',
- value: `${currentWeather.current.pressure_mb} mbar`,
- },
- };
-
- const [property, setProperty] = useState();
-
- useEffect(() => {
- switch (type) {
- case 'wind':
- setProperty(properties.wind);
- break;
- case 'feelsLike':
- setProperty(properties.feelsLike);
- break;
- case 'pressure':
- setProperty(properties.pressure);
- break;
- case 'indexUV':
- setProperty(properties.indexUV);
- break;
- }
- }, [type]);
-
- if (!property) return <>loading>;
-
- return (
-
-
-
- {!property.isIcon && (
-
- )}
- {property.isIcon && (
-
- )}
-
-
-
- {property.label}
- {property.value}
-
-
-
- );
-};
diff --git a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/components/CurrentWeather/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/components/CurrentWeather/index.tsx
deleted file mode 100644
index ceb4332..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/components/CurrentWeather/index.tsx
+++ /dev/null
@@ -1,48 +0,0 @@
-import { IonCard, IonCardContent, IonGrid, IonRow, IonText, IonCardTitle } from '@ionic/react';
-import { WeatherProperty } from './WeatherProperty';
-
-export const CurrentWeather = ({ currentWeather }: { currentWeather: any }) => (
-
-
-
-
-
- {currentWeather.location.region},{' '}
- {currentWeather.location.country}
-
-
-
-
-
-
-
- {currentWeather.current.condition.text}
-
-
-
- {new Date(currentWeather.location.localtime).toDateString()}
-
-
-
-
- {currentWeather.current.temp_c}℃
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/components/SkeletonDashboard/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/components/SkeletonDashboard/index.tsx
deleted file mode 100644
index 234fb9b..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/components/SkeletonDashboard/index.tsx
+++ /dev/null
@@ -1,117 +0,0 @@
-import {
- IonCard,
- IonCardContent,
- IonCardSubtitle,
- IonCardTitle,
- IonCol,
- IonGrid,
- IonIcon,
- IonNote,
- IonRow,
- IonSkeletonText,
- IonText,
- IonThumbnail,
-} from '@ionic/react';
-import { pulseOutline, sunnyOutline, thermometerOutline } from 'ionicons/icons';
-
-export const SkeletonDashboard = () => (
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Wind
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Feels like
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Index UV
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Pressure
-
-
-
-
-
-
-
-
-
-
-
-);
diff --git a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/index.tsx b/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/index.tsx
deleted file mode 100644
index f7fce78..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/index.tsx
+++ /dev/null
@@ -1,41 +0,0 @@
-import { IonIcon, IonLabel, IonRouterOutlet, IonTabBar, IonTabButton, IonTabs } from '@ionic/react';
-
-import { cloudOutline, searchOutline } from 'ionicons/icons';
-import { Route, Redirect } from 'react-router';
-
-import Tab1 from './AppPages/Tab1';
-import Tab2 from './AppPages/Tab2';
-
-import './style.scss';
-
-function DemoWeatherAppUi() {
- return (
-
-
-
-
-
-
-
-
-
-
-
-
- {/* */}
-
-
-
-
- Dashboard
-
-
-
- Search
-
-
-
- );
-}
-
-export default DemoWeatherAppUi;
diff --git a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/style.scss b/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/style.scss
deleted file mode 100644
index 37c1e1a..0000000
--- a/03_source/mobile.trunk.1/src/pages/DemoWeatherAppUi/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/WeatherDemo/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/WeatherDemo/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/WeatherDemo/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/WeatherDemo/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/EventDetail/AvatarRow.tsx b/03_source/mobile.trunk.1/src/pages/EventDetail/AvatarRow.tsx
deleted file mode 100644
index aa4292c..0000000
--- a/03_source/mobile.trunk.1/src/pages/EventDetail/AvatarRow.tsx
+++ /dev/null
@@ -1,134 +0,0 @@
-// REQ0042/event-detail
-//
-// PURPOSE:
-// - show avatar in a row
-//
-// RULES:
-// - T.B.A.
-//
-import React, { useEffect, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonButton,
- IonIcon,
- IonDatetime,
- IonSelectOption,
- IonList,
- IonItem,
- IonLabel,
- IonSelect,
- IonPopover,
- IonText,
- IonFooter,
- useIonRouter,
- IonAvatar,
- IonThumbnail,
-} from '@ionic/react';
-import './style.scss';
-import {
- chevronBackOutline,
- ellipsisHorizontal,
- ellipsisVertical,
- heart,
- logoIonic,
-} from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-import { format, parseISO } from 'date-fns';
-import { TestContent } from './TestContent';
-import { Helloworld } from '../../api/Helloworld';
-import { getEventById } from '../../api/getEventById';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-import { Event } from '../../models/Event';
-import { RouteComponentProps } from 'react-router';
-
-const leftShift: number = 10;
-const thumbnailSize: number = 40;
-
-interface OwnProps extends RouteComponentProps {
- event_detail?: Event;
-}
-
-interface StateProps {}
-
-interface DispatchProps {}
-
-interface EventDetailProps {
- avatars: string[];
-}
-
-const AvatarRow: React.FC<{ avatars: string[] }> = ({ avatars }) => {
- const router = useIonRouter();
-
- const [showPopover, setShowPopover] = useState(false);
- const [popoverEvent, setPopoverEvent] = useState();
- const [location, setLocation] = useState<'madison' | 'austin' | 'chicago' | 'seattle'>('madison');
- const [conferenceDate, setConferenceDate] = useState('2047-05-17T00:00:00-05:00');
-
- const selectOptions = {
- header: 'Select a Location',
- };
-
- const presentPopover = (e: React.MouseEvent) => {
- setPopoverEvent(e.nativeEvent);
- setShowPopover(true);
- };
-
- function displayDate(date: string, dateFormat: string) {
- return format(parseISO(date), dateFormat);
- }
-
- const [eventDetail, setEventDetail] = useState(null);
- useEffect(() => {
- Helloworld();
- getEventById('1').then(({ data }) => {
- console.log({ data });
- setEventDetail(data);
- });
- }, []);
-
- function handleBackOnClick() {
- router.goBack();
- }
-
- return (
- <>
-
- {avatars.slice(0, 3).map((m_avatar, idx) => (
-
-
-
-
-
- ))}
-
- {' '}
- +{avatars.length - 3} going{' '}
-
-
- >
- );
-};
-
-export default AvatarRow;
diff --git a/03_source/mobile.trunk.1/src/pages/EventDetail/TestContent.tsx b/03_source/mobile.trunk.1/src/pages/EventDetail/TestContent.tsx
deleted file mode 100644
index 39fd43b..0000000
--- a/03_source/mobile.trunk.1/src/pages/EventDetail/TestContent.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { format } from 'date-fns';
-
-export const TestContent = {
- eventDate: format(new Date(), 'yyyy-MM-dd'),
- title: 'helloworld',
- price: 123,
- currency: 'HKD',
- duration_m: 480,
- ageBottom: 12,
- ageTop: 48,
- location: 'Hong Kong Island',
- avatar: 'https://www.ionics.io/img/ionic-logo.png',
-};
diff --git a/03_source/mobile.trunk.1/src/pages/EventDetail/index.tsx b/03_source/mobile.trunk.1/src/pages/EventDetail/index.tsx
deleted file mode 100644
index efc740a..0000000
--- a/03_source/mobile.trunk.1/src/pages/EventDetail/index.tsx
+++ /dev/null
@@ -1,296 +0,0 @@
-// REQ0042/event-detail
-//
-// PURPOSE:
-// - Provides functionality view event detail
-//
-// RULES:
-// - T.B.A.
-//
-import React, { useEffect, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonButton,
- IonIcon,
- IonDatetime,
- IonSelectOption,
- IonList,
- IonItem,
- IonLabel,
- IonSelect,
- IonPopover,
- IonText,
- IonFooter,
- useIonRouter,
- IonAvatar,
-} from '@ionic/react';
-import './style.scss';
-import {
- accessibility,
- accessibilityOutline,
- chevronBackOutline,
- ellipsisHorizontal,
- ellipsisVertical,
- heart,
- locationOutline,
- locationSharp,
- logoIonic,
- man,
- manOutline,
- people,
- peopleOutline,
- timer,
- timerOutline,
- timerSharp,
- wallet,
- walletOutline,
- walletSharp,
- woman,
- womanOutline,
-} from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-import { format, parseISO } from 'date-fns';
-import { TestContent } from './TestContent';
-import { Helloworld } from '../../api/Helloworld';
-import { getEventById } from '../../api/getEventById';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-import { Event } from '../../models/Event';
-import { RouteComponentProps } from 'react-router';
-import AvatarRow from './AvatarRow';
-
-const leftShift: number = -25;
-
-interface OwnProps extends RouteComponentProps {
- event_detail?: Event;
-}
-
-interface StateProps {}
-
-interface DispatchProps {}
-
-interface EventDetailProps extends OwnProps, StateProps, DispatchProps {}
-
-const showJoinedMembers = (joinMembers: Record[]) => {
- const avatars = joinMembers.map((jm) => jm.avatar);
-
- console.log({ joinMembers });
-
- return (
- <>
-
-
- More
-
- >
- );
-};
-
-const EventDetail: React.FC = ({ event_detail }) => {
- const router = useIonRouter();
-
- const [showPopover, setShowPopover] = useState(false);
- const [popoverEvent, setPopoverEvent] = useState();
- const [location, setLocation] = useState<'madison' | 'austin' | 'chicago' | 'seattle'>('madison');
- const [conferenceDate, setConferenceDate] = useState('2047-05-17T00:00:00-05:00');
-
- const [totalJoinMembers, setTotalJoinMembers] = useState(0);
- const [maleMembers, setMaleMembers] = useState(0);
- const [femaleMembers, setFemaleMembers] = useState(0);
-
- const selectOptions = {
- header: 'Select a Location',
- };
-
- const presentPopover = (e: React.MouseEvent) => {
- setPopoverEvent(e.nativeEvent);
- setShowPopover(true);
- };
-
- function displayDate(date: string, dateFormat: string) {
- return format(parseISO(date), dateFormat);
- }
-
- useEffect(() => {
- if (event_detail) {
- setTotalJoinMembers(event_detail.joinMembers.length);
- setMaleMembers(event_detail.joinMembers.filter((m) => m.sex == 'M').length);
- setFemaleMembers(event_detail.joinMembers.filter((m) => m.sex == 'F').length);
- }
- }, [event_detail]);
-
- const [eventDetail, setEventDetail] = useState(null);
- useEffect(() => {
- Helloworld();
- getEventById('1').then(({ data }) => {
- console.log({ data });
- setEventDetail(data);
- });
- }, []);
-
- function handleBackOnClick() {
- router.goBack();
- }
-
- if (!event_detail) return <>loading>;
-
- return (
-
-
-
-
-
- {/* */}
- handleBackOnClick()}>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {format(new Date(event_detail.eventDate), 'EEE, dd MMM yyyy, hh:mm a')}
-
-
- {event_detail.title}
-
-
-
- {event_detail.joinMembers && event_detail.joinMembers.length > 0 ? (
- showJoinedMembers(event_detail.joinMembers)
- ) : (
- <>join fast !>
- )}
-
-
-
-
-
-
-
-
-
-
-
{event_detail.currency}
-
{event_detail.price}
- per person
-
-
-
-
-
-
- {event_detail.duration_m}
-
mins
-
-
-
-
-
-
-
{event_detail.ageBottom}
~
{event_detail.ageTop}
-
years old
-
-
-
-
-
- {event_detail.location}
-
-
-
-
-
{totalJoinMembers}
-
-
-
{maleMembers}
-
-
-
{femaleMembers}
-
-
-
-
-
-
-
- Join
-
-
-
-
- setShowPopover(false)}
- >
- setShowPopover(false)} />
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state, ownProps) => {
- console.log({ t1: selectors.getEvents(state) });
- return {
- event_detail: selectors.getEvent(state, ownProps),
- };
- },
- component: EventDetail,
-});
diff --git a/03_source/mobile.trunk.1/src/pages/EventDetail/style.scss b/03_source/mobile.trunk.1/src/pages/EventDetail/style.scss
deleted file mode 100644
index 7635035..0000000
--- a/03_source/mobile.trunk.1/src/pages/EventDetail/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#event-detail-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/EventList/NumOfFemaleMemberJoin.tsx b/03_source/mobile.trunk.1/src/pages/EventList/NumOfFemaleMemberJoin.tsx
deleted file mode 100644
index cafd4a3..0000000
--- a/03_source/mobile.trunk.1/src/pages/EventList/NumOfFemaleMemberJoin.tsx
+++ /dev/null
@@ -1,12 +0,0 @@
-import { IonIcon } from '@ionic/react';
-import { woman } from 'ionicons/icons';
-import React from 'react';
-
-export function NumOfFemaleMemberJoin({ joinMembers }: { joinMembers: any }) {
- return (
- <>
-
- {joinMembers.filter((jm: any) => jm.sex == 'F').length}
- >
- );
-}
diff --git a/03_source/mobile.trunk.1/src/pages/EventList/NumOfMaleMemberJoin.tsx b/03_source/mobile.trunk.1/src/pages/EventList/NumOfMaleMemberJoin.tsx
deleted file mode 100644
index b6ff01b..0000000
--- a/03_source/mobile.trunk.1/src/pages/EventList/NumOfMaleMemberJoin.tsx
+++ /dev/null
@@ -1,12 +0,0 @@
-import { IonIcon } from '@ionic/react';
-import { man } from 'ionicons/icons';
-import React from 'react';
-
-export function NumOfMaleMemberJoin({ joinMembers }: { joinMembers: any }) {
- return (
- <>
-
- {joinMembers.filter((jm: any) => jm.sex == 'M').length}
- >
- );
-}
diff --git a/03_source/mobile.trunk.1/src/pages/EventList/NumOfMemberJoin.tsx b/03_source/mobile.trunk.1/src/pages/EventList/NumOfMemberJoin.tsx
deleted file mode 100644
index fa770d7..0000000
--- a/03_source/mobile.trunk.1/src/pages/EventList/NumOfMemberJoin.tsx
+++ /dev/null
@@ -1,15 +0,0 @@
-import { IonIcon } from '@ionic/react';
-import { accessibility } from 'ionicons/icons';
-import React from 'react';
-
-export function NumOfMemberJoin({ joinMembers }: { joinMembers: any }) {
- return (
- <>
-
- {joinMembers.length}
- >
- );
-}
diff --git a/03_source/mobile.trunk.1/src/pages/EventList/TestContent.tsx b/03_source/mobile.trunk.1/src/pages/EventList/TestContent.tsx
deleted file mode 100644
index 39fd43b..0000000
--- a/03_source/mobile.trunk.1/src/pages/EventList/TestContent.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { format } from 'date-fns';
-
-export const TestContent = {
- eventDate: format(new Date(), 'yyyy-MM-dd'),
- title: 'helloworld',
- price: 123,
- currency: 'HKD',
- duration_m: 480,
- ageBottom: 12,
- ageTop: 48,
- location: 'Hong Kong Island',
- avatar: 'https://www.ionics.io/img/ionic-logo.png',
-};
diff --git a/03_source/mobile.trunk.1/src/pages/EventList/index.tsx b/03_source/mobile.trunk.1/src/pages/EventList/index.tsx
deleted file mode 100644
index 7848766..0000000
--- a/03_source/mobile.trunk.1/src/pages/EventList/index.tsx
+++ /dev/null
@@ -1,228 +0,0 @@
-// REQ0041/home_discover_event_tab
-
-import React, { useRef } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonGrid,
- IonRow,
- IonCol,
- useIonRouter,
- IonButton,
- IonIcon,
- IonModal,
- IonRefresher,
- IonRefresherContent,
- RefresherEventDetail,
-} from '@ionic/react';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-import '../SpeakerList.scss';
-import { format } from 'date-fns';
-
-// import { Event } from './types';
-import { chevronDownCircleOutline, menuOutline } from 'ionicons/icons';
-import Loading from '../../components/Loading';
-import { Event } from '../../models/Event';
-//
-import { NumOfMemberJoin } from './NumOfMemberJoin';
-import { NumOfMaleMemberJoin } from './NumOfMaleMemberJoin';
-import { NumOfFemaleMemberJoin } from './NumOfFemaleMemberJoin';
-
-interface OwnProps {}
-
-interface StateProps {
- fetchEventResult: any;
-}
-
-interface DispatchProps {}
-
-interface SpeakerListProps extends OwnProps, StateProps, DispatchProps {}
-
-const EventList: React.FC = ({ fetchEventResult }) => {
- const router = useIonRouter();
- const modal = useRef(null);
-
- const {
- result: { status },
- data: { events },
- } = fetchEventResult;
-
- function handleShowPartyEventDetail(event_id: string) {
- router.push(`/event_detail/${event_id}`);
- }
-
- function handleRefresh(event: CustomEvent) {
- setTimeout(() => {
- // Any calls to load data go here
- event.detail.complete();
- }, 2000);
- }
-
- if (status != 200)
- return <>Error during fetching event list, check /events endpoint if working>;
-
- if (!events || events.length == 0) return ;
-
- return (
-
-
-
-
- {/* */}
-
-
-
-
- Discover Events
-
-
-
-
-
-
-
-
-
-
- Discover Events
-
-
-
-
-
- {events.map((event: any, idx: number) => (
-
- handleShowPartyEventDetail(event.id)}
- >
-
-
-
- {/*
{format(new Date(event.eve ntDate), 'yyyy-MM-dd')}
*/}
-
- {format(new Date(event.eventDate), 'EEE, dd MMM yyyy, hh:mm a')}
-
-
{event.name}
-
{event.price}
-
-
-
-
-
-
-
-
-
-
- ))}
-
-
-
-
- {/* REQ0079/event-filter */}
-
-
-
-
- Filter
-
-
- Maximum number of participant
-
-
- 2-10
- 12-40
- All
-
-
- Held date
-
-
- Weekly
- Monthly
- All
-
-
-
- Apply
-
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => {
- return {
- fetchEventResult: selectors.getEvents(state),
- };
- },
- component: React.memo(EventList),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/EventList/style.scss b/03_source/mobile.trunk.1/src/pages/EventList/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/EventList/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/EventList/types.ts b/03_source/mobile.trunk.1/src/pages/EventList/types.ts
deleted file mode 100644
index c00406c..0000000
--- a/03_source/mobile.trunk.1/src/pages/EventList/types.ts
+++ /dev/null
@@ -1,19 +0,0 @@
-// OBSOLETED
-//
-// NOTE: divert to src/models/Event.ts
-//
-
-export interface EventOBSOLETED {
- eventDate: Date;
- joinMembers: undefined;
- title: string;
- price: number;
- currency: string;
- duration_m: number;
- ageBottom: number;
- ageTop: number;
- location: string;
- avatar: string;
- //
- id: string;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Favourites/TestContent.tsx b/03_source/mobile.trunk.1/src/pages/Favourites/TestContent.tsx
deleted file mode 100644
index 39fd43b..0000000
--- a/03_source/mobile.trunk.1/src/pages/Favourites/TestContent.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { format } from 'date-fns';
-
-export const TestContent = {
- eventDate: format(new Date(), 'yyyy-MM-dd'),
- title: 'helloworld',
- price: 123,
- currency: 'HKD',
- duration_m: 480,
- ageBottom: 12,
- ageTop: 48,
- location: 'Hong Kong Island',
- avatar: 'https://www.ionics.io/img/ionic-logo.png',
-};
diff --git a/03_source/mobile.trunk.1/src/pages/Favourites/index.tsx b/03_source/mobile.trunk.1/src/pages/Favourites/index.tsx
deleted file mode 100644
index 41320d2..0000000
--- a/03_source/mobile.trunk.1/src/pages/Favourites/index.tsx
+++ /dev/null
@@ -1,257 +0,0 @@
-// REQ0041/home_discover_event_tab
-
-import React, { useEffect, useRef, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonGrid,
- IonRow,
- IonCol,
- useIonRouter,
- IonButton,
- IonIcon,
- IonPopover,
- IonAvatar,
- IonImg,
- IonItem,
- IonLabel,
- IonList,
- IonModal,
- IonSearchbar,
- useIonModal,
- IonInput,
- IonRefresher,
- IonRefresherContent,
- RefresherEventDetail,
-} from '@ionic/react';
-import SpeakerItem from '../../components/SpeakerItem';
-import { Speaker } from '../../models/Speaker';
-import { Session } from '../../models/Schedule';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-import '../SpeakerList.scss';
-import { getEvents } from '../../api/getEvents';
-import { format } from 'date-fns';
-import { Event } from './types';
-import {
- chevronBackCircleOutline,
- chevronBackOutline,
- chevronDownCircleOutline,
- heart,
- menuOutline,
-} from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-import Loading from '../../components/Loading';
-import NoSavedEvents from '../../components/NoSavedEvents';
-import PATHS from '../../PATHS';
-
-interface OwnProps {}
-
-interface StateProps {
- events: Event[];
-}
-
-interface DispatchProps {}
-
-interface SpeakerListProps extends OwnProps, StateProps, DispatchProps {}
-
-const EventList: React.FC = ({ events }) => {
- const modal = useRef(null);
-
- const router = useIonRouter();
-
- function handleShowPartyEventDetail(event_id: string) {
- router.push(`/event_detail/${event_id}`);
- }
-
- function handleRefresh(event: CustomEvent) {
- setTimeout(() => {
- // Any calls to load data go here
- event.detail.complete();
- }, 2000);
- }
- function handleBackClick() {
- router.goBack();
- }
-
- function handleBrowseEventsClick() {
- router.push(PATHS.EVENT_LIST, 'back');
- }
-
- if (!events || events.length == 0) return ;
-
- return (
-
-
-
-
- {/* */}
-
-
-
-
-
- Favorites
-
-
-
-
-
-
-
-
-
-
-
-
- Favorites
-
-
-
-
- {/* REQ0088/favorite-event-empty */}
- {events.length == 0 ? (
- <>
-
-
-
- Browse Events
-
-
- >
- ) : (
- <>>
- )}
-
-
-
- {events.length > 0 ? (
- events.map((event, idx) => (
-
- handleShowPartyEventDetail(event.id)}
- >
-
-
-
{format(new Date(event.eventDate), 'yyyy-MM-dd')}
-
{event.title}
-
{event.currency}
-
{event.price}
-
- {40} {20} {20}
-
-
-
-
- ))
- ) : (
- <>>
- )}
-
-
-
-
- {/* REQ0079/event-filter */}
-
-
-
-
- Filter
-
-
- Maximum number of participant
-
-
- 2-10
- 12-40
- All
-
-
- Held date
-
-
- Weekly
- Monthly
- All
-
-
-
- Apply
-
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- events: selectors.getEvents(state),
- }),
- component: React.memo(EventList),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/Favourites/style.scss b/03_source/mobile.trunk.1/src/pages/Favourites/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/Favourites/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Favourites/types.ts b/03_source/mobile.trunk.1/src/pages/Favourites/types.ts
deleted file mode 100644
index 2f4577f..0000000
--- a/03_source/mobile.trunk.1/src/pages/Favourites/types.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-export interface Event {
- eventDate: Date;
- joinMembers: undefined;
- title: string;
- price: number;
- currency: string;
- duration_m: number;
- ageBottom: number;
- ageTop: number;
- location: string;
- avatar: string;
- //
- id: string;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Helloworld/index.tsx b/03_source/mobile.trunk.1/src/pages/Helloworld/index.tsx
deleted file mode 100644
index 87413ac..0000000
--- a/03_source/mobile.trunk.1/src/pages/Helloworld/index.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-// REQ0041/home_discover_event_tab
-
-import {
- IonPage,
- IonHeader,
- IonToolbar,
- IonButtons,
- IonButton,
- IonIcon,
- IonTitle,
- IonContent,
-} from '@ionic/react';
-import { menuOutline } from 'ionicons/icons';
-import React, { useEffect, useRef, useState } from 'react';
-import './style.scss';
-
-const Helloworld: React.FC = () => {
- return (
-
-
-
-
- {/* */}
-
-
-
-
- Discover Events
-
-
-
- Helloworld
-
- );
-};
-
-export default Helloworld;
diff --git a/03_source/mobile.trunk.1/src/pages/Helloworld/style.scss b/03_source/mobile.trunk.1/src/pages/Helloworld/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/Helloworld/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Login.scss b/03_source/mobile.trunk.1/src/pages/Login.scss
deleted file mode 100644
index 9a56dc7..0000000
--- a/03_source/mobile.trunk.1/src/pages/Login.scss
+++ /dev/null
@@ -1,23 +0,0 @@
-#login-page, #signup-page, #support-page {
- .login-logo {
- min-height: 200px;
- padding: 20px 0;
- text-align: center;
- }
-
- .login-logo img {
- max-width: 150px;
- }
-
- .list {
- margin-bottom: 0;
- }
-
- .login-form {
- padding: 16px;
- }
-
- ion-input {
- margin-bottom: 10px;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Login.tsx b/03_source/mobile.trunk.1/src/pages/Login.tsx
deleted file mode 100644
index 1412e4b..0000000
--- a/03_source/mobile.trunk.1/src/pages/Login.tsx
+++ /dev/null
@@ -1,113 +0,0 @@
-import React, { useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonRow,
- IonCol,
- IonButton,
- IonInput,
-} from '@ionic/react';
-import { useHistory } from 'react-router';
-import './Login.scss';
-import { setIsLoggedIn, setUsername } from '../data/user/user.actions';
-import { connect } from '../data/connect';
-
-interface LoginProps {
- setIsLoggedIn: typeof setIsLoggedIn;
- setUsername: typeof setUsername;
-}
-
-const Login: React.FC = ({ setIsLoggedIn, setUsername: setUsernameAction }) => {
- const history = useHistory();
- const [login, setLogin] = useState({ username: '', password: '' });
- const [submitted, setSubmitted] = useState(false);
-
- const onLogin = async (e: React.FormEvent) => {
- e.preventDefault();
- setSubmitted(true);
-
- if (login.username && login.password) {
- await setIsLoggedIn(true);
- await setUsernameAction(login.username);
- history.push('/tabs/schedule');
- }
- };
-
- const onSignup = () => {
- history.push('/signup');
- };
-
- return (
-
-
-
-
-
-
- Login
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default connect<{}, {}, LoginProps>({
- mapDispatchToProps: {
- setIsLoggedIn,
- setUsername,
- },
- component: Login,
-});
diff --git a/03_source/mobile.trunk.1/src/pages/MainTabs.tsx b/03_source/mobile.trunk.1/src/pages/MainTabs.tsx
deleted file mode 100644
index fcf3956..0000000
--- a/03_source/mobile.trunk.1/src/pages/MainTabs.tsx
+++ /dev/null
@@ -1,81 +0,0 @@
-// REQ0116/main-tab
-
-import React from 'react';
-import { IonTabs, IonRouterOutlet, IonTabBar, IonTabButton, IonIcon, IonLabel } from '@ionic/react';
-import { Route, Redirect } from 'react-router';
-import { calendar, location, informationCircle, people } from 'ionicons/icons';
-import SchedulePage from './SchedulePage';
-import SpeakerList from './SpeakerList';
-import SpeakerDetail from './SpeakerDetail';
-import SessionDetail from './SessionDetail';
-import MapView from './MapView';
-import About from './About';
-import EventList from './EventList';
-import MembersNearByList from './MembersNearByList';
-import OrderList from './OrderList';
-import MyProfile from './MyProfile';
-import MessageList from './MessageList';
-import PATHS from '../PATHS';
-import Favourites from './Favourites';
-import TabAppRoute from '../TabAppRoute';
-
-interface MainTabsProps {}
-
-const MainTabs: React.FC = () => {
- return (
-
-
- {/* REQ0117/default-route */}
-
- {/*
- Using the render method prop cuts down the number of renders your components will have due to route changes.
- Use the component prop when your component depends on the RouterComponentProps passed in automatically.
- */}
- } exact={true} />
- } exact={true} />
-
-
-
-
- } exact={true} />
-
- } exact={true} />
-
- {/* */}
-
-
- {/* */}
-
- {/*
-
-
- Speakers
-
- */}
-
-
-
- Event
-
-
-
- Nearby
-
-
-
- Order
-
-
-
- Message
-
-
-
- Profile
-
-
-
- );
-};
-
-export default MainTabs;
diff --git a/03_source/mobile.trunk.1/src/pages/MapView.scss b/03_source/mobile.trunk.1/src/pages/MapView.scss
deleted file mode 100644
index 33d0ebc..0000000
--- a/03_source/mobile.trunk.1/src/pages/MapView.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-.map-canvas {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
-
- background-color: transparent;
-
- opacity: 0;
-
- transition: opacity 150ms ease-in;
-}
-
-.show-map {
- opacity: 1;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/MapView.tsx b/03_source/mobile.trunk.1/src/pages/MapView.tsx
deleted file mode 100644
index 25bae18..0000000
--- a/03_source/mobile.trunk.1/src/pages/MapView.tsx
+++ /dev/null
@@ -1,126 +0,0 @@
-import React, { useEffect, useRef } from 'react';
-import {
- IonContent,
- IonHeader,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonViewDidEnter,
-} from '@ionic/react';
-import { Location } from '../models/Location';
-import { connect } from '../data/connect';
-import { loadLocations } from '../data/locations/locations.actions';
-import L from 'leaflet';
-import 'leaflet/dist/leaflet.css';
-import markerIconUrl from 'leaflet/dist/images/marker-icon.png';
-import markerIconRetinaUrl from 'leaflet/dist/images/marker-icon-2x.png';
-import markerShadowUrl from 'leaflet/dist/images/marker-shadow.png';
-import './MapView.scss';
-
-// Fix for marker icons in Vite
-L.Icon.Default.prototype.options.iconUrl = markerIconUrl;
-L.Icon.Default.prototype.options.iconRetinaUrl = markerIconRetinaUrl;
-L.Icon.Default.prototype.options.shadowUrl = markerShadowUrl;
-L.Icon.Default.imagePath = '';
-
-interface StateProps {
- locations: Location[];
-}
-
-interface DispatchProps {
- loadLocations: typeof loadLocations;
-}
-
-const MapView: React.FC = ({ locations, loadLocations }) => {
- const mapCanvas = useRef(null);
- const map = useRef(null);
- const markers = useRef([]);
-
- // Add useEffect to load locations when component mounts
- useEffect(() => {
- loadLocations();
- }, []);
-
- const initMap = () => {
- if (!locations?.length || !mapCanvas.current || map.current) return;
-
- map.current = L.map(mapCanvas.current, {
- zoomControl: true,
- attributionControl: true,
- });
-
- // Get the center location (first item marked as center, or first item if none marked)
- const centerLocation = locations.find((loc) => loc.center) || locations[0];
- map.current.setView([centerLocation.lat, centerLocation.lng], 16);
-
- // Add tile layer
- L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
- attribution: '© OpenStreetMap contributors',
- }).addTo(map.current);
-
- // Add markers for all locations
- locations.forEach((location: Location) => {
- const marker = L.marker([location.lat, location.lng])
- .addTo(map.current!)
- .bindPopup(`${location.name}`);
- markers.current.push(marker);
- });
-
- // Show map
- mapCanvas.current.classList.add('show-map');
- };
-
- const resizeMap = () => {
- if (map.current) {
- map.current.invalidateSize();
- }
- };
-
- // Initialize map
- useEffect(() => {
- initMap();
- return () => {
- if (map.current) {
- markers.current.forEach((marker) => marker.remove());
- map.current.remove();
- map.current = null;
- }
- };
- }, [locations]);
-
- // Handle resize after content is visible
- useEffect(() => {
- const timer = setTimeout(() => {
- resizeMap();
- }, 300);
-
- return () => clearTimeout(timer);
- }, []);
-
- useIonViewDidEnter(() => {
- resizeMap();
- });
-
- return (
-
-
-
- Map
-
-
-
-
-
-
- );
-};
-
-export default connect<{}, StateProps, DispatchProps>({
- mapStateToProps: (state) => ({
- locations: state.locations.locations,
- }),
- mapDispatchToProps: {
- loadLocations,
- },
- component: MapView,
-});
diff --git a/03_source/mobile.trunk.1/src/pages/MemberProfile/SampleMember.tsx b/03_source/mobile.trunk.1/src/pages/MemberProfile/SampleMember.tsx
deleted file mode 100644
index 4d466b2..0000000
--- a/03_source/mobile.trunk.1/src/pages/MemberProfile/SampleMember.tsx
+++ /dev/null
@@ -1,21 +0,0 @@
-export const SampleMember = {
- name: 'John',
- age: 20,
- rank: 'VIP',
- verified: 'verified',
- hobbies: ['fishing', 'basketball', 'piano'],
- distance: '40km',
- location_area: 'Sai Kung',
- greetings: 'Hi, I am ',
- gender: 'man',
- tall_cm: 172,
- weight_kg: 60,
- occupation: 'doctor',
- language: ['English', 'French', 'Chinese'],
- Education: ['Degree of Computer'],
- self_introduction:
- 'Get me know me before you love me. Get me know me before you love me.Get me know me before you love me .Get me know me before you love me ',
- music: ['Classic', 'Classic', 'Classic', 'Classic', 'Classic', 'Classic'],
- pets: ['Classic', 'Classic', 'Classic', 'Classic', 'Classic', 'Classic'],
- character: ['Classic', 'Classic', 'Classic', 'Classic', 'Classic', 'Classic'],
-};
diff --git a/03_source/mobile.trunk.1/src/pages/MemberProfile/TestContent.tsx b/03_source/mobile.trunk.1/src/pages/MemberProfile/TestContent.tsx
deleted file mode 100644
index 39fd43b..0000000
--- a/03_source/mobile.trunk.1/src/pages/MemberProfile/TestContent.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { format } from 'date-fns';
-
-export const TestContent = {
- eventDate: format(new Date(), 'yyyy-MM-dd'),
- title: 'helloworld',
- price: 123,
- currency: 'HKD',
- duration_m: 480,
- ageBottom: 12,
- ageTop: 48,
- location: 'Hong Kong Island',
- avatar: 'https://www.ionics.io/img/ionic-logo.png',
-};
diff --git a/03_source/mobile.trunk.1/src/pages/MemberProfile/index.tsx b/03_source/mobile.trunk.1/src/pages/MemberProfile/index.tsx
deleted file mode 100644
index caf66f4..0000000
--- a/03_source/mobile.trunk.1/src/pages/MemberProfile/index.tsx
+++ /dev/null
@@ -1,192 +0,0 @@
-// REQ0042/event-detail
-//
-// PURPOSE:
-// - Provides functionality view event detail
-//
-// RULES:
-// - T.B.A.
-//
-import React, { useEffect, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonButton,
- IonIcon,
- IonDatetime,
- IonSelectOption,
- IonList,
- IonItem,
- IonLabel,
- IonSelect,
- IonPopover,
- IonText,
- IonFooter,
- useIonRouter,
-} from '@ionic/react';
-import './style.scss';
-import {
- chevronBackOutline,
- ellipsisHorizontal,
- ellipsisVertical,
- heart,
- logoIonic,
-} from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-import { format, parseISO } from 'date-fns';
-import { TestContent } from './TestContent';
-import { Helloworld } from '../../api/Helloworld';
-import { getEventById } from '../../api/getEventById';
-import { SampleMember } from './SampleMember';
-import { getMemberById } from '../../api/getMemberById';
-import { Member } from './type';
-
-interface AboutProps {}
-
-const MemberProfile: React.FC = () => {
- const [showPopover, setShowPopover] = useState(false);
- const [popoverEvent, setPopoverEvent] = useState();
- const [location, setLocation] = useState<'madison' | 'austin' | 'chicago' | 'seattle'>('madison');
- const [conferenceDate, setConferenceDate] = useState('2047-05-17T00:00:00-05:00');
-
- const selectOptions = {
- header: 'Select a Location',
- };
-
- const presentPopover = (e: React.MouseEvent) => {
- setPopoverEvent(e.nativeEvent);
- setShowPopover(true);
- };
-
- function displayDate(date: string, dateFormat: string) {
- return format(parseISO(date), dateFormat);
- }
-
- const [memberDetail, setMemberDetail] = useState(null);
- useEffect(() => {
- Helloworld();
- getMemberById('2').then(({ data }) => {
- setMemberDetail(data);
- });
- }, []);
-
- const router = useIonRouter();
- function handleBackOnClick() {
- router.goBack();
- }
-
- if (!memberDetail) return <>loading>;
-
- return (
-
-
-
-
-
- {/* */}
- handleBackOnClick()}>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {memberDetail.greetings} {memberDetail.name} {memberDetail.age}
-
-
-
-
{memberDetail.gender}
-
{memberDetail.tall_cm}
-
{memberDetail.weight_kg}
-
{memberDetail.occupation}
-
-
{memberDetail.language}
-
{memberDetail.education}
-
-
-
-
About Me
-
{memberDetail.self_introduction}
-
-
-
-
Music
-
{memberDetail.music}
-
-
-
-
Pets
-
{memberDetail.pets}
-
-
-
-
Character
-
{memberDetail.character}
-
-
-
-
-
-
-
- Chat
-
-
-
-
- setShowPopover(false)}
- >
- setShowPopover(false)} />
-
-
- );
-};
-
-export default React.memo(MemberProfile);
diff --git a/03_source/mobile.trunk.1/src/pages/MemberProfile/style.scss b/03_source/mobile.trunk.1/src/pages/MemberProfile/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/MemberProfile/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/MemberProfile/type.ts b/03_source/mobile.trunk.1/src/pages/MemberProfile/type.ts
deleted file mode 100644
index 58afa5a..0000000
--- a/03_source/mobile.trunk.1/src/pages/MemberProfile/type.ts
+++ /dev/null
@@ -1,51 +0,0 @@
-export interface Member {
- id: number;
- createdAt: Date;
- updatedAt: Date;
- email: string;
- name: string | null;
- eventId: number | null;
- age: number | null;
- rank: string;
- verified: string;
- hobbies: string[];
- distance: string;
- location_area: string;
- greetings: string;
- gender: string;
- tall_cm: number | null;
- weight_kg: number | null;
- occupation: string;
- language: string[];
- education: string[];
- self_introduction: string;
- music: string[];
- pets: string[];
- character: string[];
-}
-
-export const defaultMember: Member = {
- id: -1,
- createdAt: new Date(),
- updatedAt: new Date(),
- email: '123@123.com',
- name: null,
- eventId: null,
- age: null,
- rank: '',
- verified: '',
- hobbies: [],
- distance: '',
- location_area: '',
- greetings: '',
- gender: '',
- tall_cm: null,
- weight_kg: null,
- occupation: '',
- language: [],
- education: [],
- self_introduction: '',
- music: [],
- pets: [],
- character: [],
-};
diff --git a/03_source/mobile.trunk.1/src/pages/MembersNearByList/TestContent.tsx b/03_source/mobile.trunk.1/src/pages/MembersNearByList/TestContent.tsx
deleted file mode 100644
index 39fd43b..0000000
--- a/03_source/mobile.trunk.1/src/pages/MembersNearByList/TestContent.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { format } from 'date-fns';
-
-export const TestContent = {
- eventDate: format(new Date(), 'yyyy-MM-dd'),
- title: 'helloworld',
- price: 123,
- currency: 'HKD',
- duration_m: 480,
- ageBottom: 12,
- ageTop: 48,
- location: 'Hong Kong Island',
- avatar: 'https://www.ionics.io/img/ionic-logo.png',
-};
diff --git a/03_source/mobile.trunk.1/src/pages/MembersNearByList/index.tsx b/03_source/mobile.trunk.1/src/pages/MembersNearByList/index.tsx
deleted file mode 100644
index 926de98..0000000
--- a/03_source/mobile.trunk.1/src/pages/MembersNearByList/index.tsx
+++ /dev/null
@@ -1,155 +0,0 @@
-// REQ0044/near_by_page
-
-import React, { useEffect, useRef, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonGrid,
- IonRow,
- IonCol,
- useIonRouter,
- IonButton,
- IonIcon,
- IonPopover,
- IonAvatar,
- IonImg,
- IonItem,
- IonLabel,
- IonList,
- IonModal,
- IonSearchbar,
- useIonModal,
- IonInput,
- RefresherEventDetail,
- IonRefresher,
- IonRefresherContent,
-} from '@ionic/react';
-import SpeakerItem from '../../components/SpeakerItem';
-import { Speaker } from '../../models/Speaker';
-import { Session } from '../../models/Schedule';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-import '../SpeakerList.scss';
-import { getEvents } from '../../api/getEvents';
-import { format } from 'date-fns';
-import { Event } from './types';
-import { chevronDownCircleOutline, heart, menuOutline } from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-import { SampleMember } from '../MemberProfile/SampleMember';
-import { getMembers } from '../../api/getMembers';
-import { Member } from '../MemberProfile/type';
-import Loading from '../../components/Loading';
-
-interface OwnProps {}
-
-interface StateProps {
- nearbyMembers: Member[];
-}
-
-interface DispatchProps {}
-
-interface SpeakerListProps extends OwnProps, StateProps, DispatchProps {}
-
-function MemberCell({ member }: { member: Member }) {
- const router = useIonRouter();
-
- return (
- <>
-
-
-
-
-
-
-
-
{member.name}
-
{member.age}
-
{member.rank}
-
{member.verified}
-
-
-
{member.hobbies[0]},
-
{member.hobbies[1]},
-
{member.hobbies[2]}
-
-
- {SampleMember.distance}, {SampleMember.location_area}
-
-
-
- >
- );
-}
-
-const MembersNearByList: React.FC = ({ nearbyMembers }) => {
- const router = useIonRouter();
-
- function handleMemberCellClick(id: string) {
- router.push(`/profile/${id}`);
- }
-
- function handleRefresh(event: CustomEvent) {
- setTimeout(() => {
- // Any calls to load data go here
- event.detail.complete();
- }, 2000);
- }
-
- if (!nearbyMembers || nearbyMembers.length == 0) return ;
-
- return (
-
-
-
-
- {/* */}
-
-
-
-
- My Nearby
-
-
-
-
-
-
-
-
-
-
- My Nearby
-
-
-
-
- {nearbyMembers.map((member, idx) => (
- handleMemberCellClick(member.id.toString())}>
-
-
- ))}
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- nearbyMembers: selectors.getNearbyMembers(state),
- }),
- component: React.memo(MembersNearByList),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/MembersNearByList/style.scss b/03_source/mobile.trunk.1/src/pages/MembersNearByList/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/MembersNearByList/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/MembersNearByList/types.ts b/03_source/mobile.trunk.1/src/pages/MembersNearByList/types.ts
deleted file mode 100644
index 2f4577f..0000000
--- a/03_source/mobile.trunk.1/src/pages/MembersNearByList/types.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-export interface Event {
- eventDate: Date;
- joinMembers: undefined;
- title: string;
- price: number;
- currency: string;
- duration_m: number;
- ageBottom: number;
- ageTop: number;
- location: string;
- avatar: string;
- //
- id: string;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/MessageList/TestContent.tsx b/03_source/mobile.trunk.1/src/pages/MessageList/TestContent.tsx
deleted file mode 100644
index 39fd43b..0000000
--- a/03_source/mobile.trunk.1/src/pages/MessageList/TestContent.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { format } from 'date-fns';
-
-export const TestContent = {
- eventDate: format(new Date(), 'yyyy-MM-dd'),
- title: 'helloworld',
- price: 123,
- currency: 'HKD',
- duration_m: 480,
- ageBottom: 12,
- ageTop: 48,
- location: 'Hong Kong Island',
- avatar: 'https://www.ionics.io/img/ionic-logo.png',
-};
diff --git a/03_source/mobile.trunk.1/src/pages/MessageList/index.tsx b/03_source/mobile.trunk.1/src/pages/MessageList/index.tsx
deleted file mode 100644
index e47aaf5..0000000
--- a/03_source/mobile.trunk.1/src/pages/MessageList/index.tsx
+++ /dev/null
@@ -1,248 +0,0 @@
-// REQ0041/home_discover_event_tab
-
-import React, { useEffect, useRef, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonGrid,
- IonRow,
- IonCol,
- useIonRouter,
- IonButton,
- IonIcon,
- IonPopover,
- IonAvatar,
- IonImg,
- IonItem,
- IonLabel,
- IonList,
- IonModal,
- IonSearchbar,
- useIonModal,
- IonInput,
- IonText,
-} from '@ionic/react';
-import SpeakerItem from '../../components/SpeakerItem';
-import { Speaker } from '../../models/Speaker';
-import { Session } from '../../models/Schedule';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-import '../SpeakerList.scss';
-import { getEvents } from '../../api/getEvents';
-import { format } from 'date-fns';
-import { Event } from './types';
-import { chevronBackOutline, heart, menuOutline, warningOutline } from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-// import WarningIconSvg from './warning-icon.svg';
-
-interface OwnProps {}
-
-interface StateProps {
- speakers: Speaker[];
- speakerSessions: { [key: string]: Session[] };
-}
-
-interface DispatchProps {}
-
-interface SpeakerListProps extends OwnProps, StateProps, DispatchProps {}
-
-const MessageList: React.FC = ({ speakers, speakerSessions }) => {
- const [events, setEvents] = useState([]);
- const [showPopover, setShowPopover] = useState(false);
- const [popoverEvent, setPopoverEvent] = useState();
- const modal = useRef(null);
-
- const router = useIonRouter();
-
- useEffect(() => {
- getEvents().then(({ data }) => {
- console.log({ data });
- setEvents(data);
- });
- }, []);
-
- function handleShowPartyEventDetail(event_id: string) {
- router.push(`/event_detail/${event_id}`);
- }
-
- const ModalExample = ({
- dismiss,
- }: {
- dismiss: (data?: string | null | undefined | number, role?: string) => void;
- }) => {
- const inputRef = useRef(null);
- return (
-
-
-
-
- dismiss(null, 'cancel')}>
- Cancel
-
-
- Welcome
-
- dismiss(inputRef.current?.value, 'confirm')} strong={true}>
- Confirm
-
-
-
-
-
-
-
-
-
-
- );
- };
-
- const [present, dismiss] = useIonModal(ModalExample, {
- dismiss: (data: string, role: string) => dismiss(data, role),
- });
- const [message, setMessage] = useState(
- 'This modal example uses the modalController to present and dismiss modals.'
- );
-
- function handleBackOnClick() {
- router.goBack();
- }
-
- if (!events) return <>loading>;
-
- return (
-
-
-
- Messages
-
-
-
-
-
-
- Messages
-
-
-
-
- {/* TODO: need to resume WarningIconSvg */}
- {/*
*/}
- {/* TODO: resume using svg, temporary using IonIcon for build */}
-
- {/* */}
- Sorry but Not implemented
-
-
- Back
-
-
-
-
- {/* REQ0079/event-filter */}
-
-
-
-
- Filter
-
-
- Maximum number of participant
-
-
- 2-10
- 12-40
- All
-
-
- Held date
-
-
- Weekly
- Monthly
- All
-
-
-
- Apply
-
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- speakers: selectors.getSpeakers(state),
- speakerSessions: selectors.getSpeakerSessions(state),
- }),
- component: React.memo(MessageList),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/MessageList/style.scss b/03_source/mobile.trunk.1/src/pages/MessageList/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/MessageList/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/MessageList/types.ts b/03_source/mobile.trunk.1/src/pages/MessageList/types.ts
deleted file mode 100644
index 2f4577f..0000000
--- a/03_source/mobile.trunk.1/src/pages/MessageList/types.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-export interface Event {
- eventDate: Date;
- joinMembers: undefined;
- title: string;
- price: number;
- currency: string;
- duration_m: number;
- ageBottom: number;
- ageTop: number;
- location: string;
- avatar: string;
- //
- id: string;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/MessageList/warning-icon.svg b/03_source/mobile.trunk.1/src/pages/MessageList/warning-icon.svg
deleted file mode 100644
index 3061c76..0000000
--- a/03_source/mobile.trunk.1/src/pages/MessageList/warning-icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-warning
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/MyLogin/endpoints.ts b/03_source/mobile.trunk.1/src/pages/MyLogin/endpoints.ts
deleted file mode 100644
index 9b9c87b..0000000
--- a/03_source/mobile.trunk.1/src/pages/MyLogin/endpoints.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-const CMS_BACKEND_URL = 'http://192.168.10.75:7272';
-
-const endpoints = {
- auth: {
- me: `http://localhost:7272/api/auth/me`,
- signIn: `${CMS_BACKEND_URL}/api/auth/sign-in`,
- signUp: `${CMS_BACKEND_URL}/api/auth/sign-up`,
- //
- },
-};
-
-export { endpoints };
diff --git a/03_source/mobile.trunk.1/src/pages/MyLogin/index.tsx b/03_source/mobile.trunk.1/src/pages/MyLogin/index.tsx
deleted file mode 100644
index eed20c4..0000000
--- a/03_source/mobile.trunk.1/src/pages/MyLogin/index.tsx
+++ /dev/null
@@ -1,273 +0,0 @@
-import { z as zod } from 'zod';
-import React, { useEffect, useState } from 'react';
-import { useForm, Controller } from 'react-hook-form';
-import { zodResolver } from '@hookform/resolvers/zod';
-import { useLocalStorage } from 'react-use';
-
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonRow,
- IonCol,
- IonButton,
- IonInput,
- IonIcon,
- useIonRouter,
-} from '@ionic/react';
-
-import { useHistory } from 'react-router';
-import './style.scss';
-
-import {
- setAccessToken,
- setIsLoggedIn,
- setUsername,
- checkUserSession,
-} from '../../data/user/user.actions';
-import { connect } from '../../data/connect';
-
-import { chevronBack, chevronBackOutline } from 'ionicons/icons';
-
-import { signInWithPassword } from '../../context/jwt/action';
-import axios from 'axios';
-import { endpoints } from './endpoints';
-
-export type SignInSchemaType = zod.infer;
-
-export const SignInSchema = zod.object({
- email: zod
- .string()
- .min(1, { message: 'Email is required!' })
- .email({ message: 'Email must be a valid email address!' }),
- password: zod
- .string()
- .min(1, { message: 'Password is required!' })
- .min(6, { message: 'Password must be at least 6 characters!' }),
-});
-
-interface OwnProps {}
-
-interface DispatchProps {
- setIsLoggedIn: typeof setIsLoggedIn;
- setUsername: typeof setUsername;
- setAccessToken: typeof setAccessToken;
- checkUserSession: typeof checkUserSession;
-}
-
-interface StateProps {
- isSessionValid: boolean;
-}
-
-interface LoginProps extends OwnProps, StateProps, DispatchProps {}
-
-type UserType = Record | null;
-
-const Login: React.FC = (props) => {
- const {
- setAccessToken,
- setIsLoggedIn,
- setUsername: setUsernameAction,
- checkUserSession,
- isSessionValid,
- isLoggedin,
- } = props;
-
- const history = useHistory();
-
- // TODO: delete unused code
- // const [login, setLogin] = useState({ email: '', password: '' });
- // const [submitted, setSubmitted] = useState(false);
- // const onLogin = async (e: React.FormEvent) => {
- // e.preventDefault();
- // setSubmitted(true);
-
- // if (login.email && login.password) {
- // await setIsLoggedIn(true);
- // await login.email;
- // history.push('/tabs/events');
- // }
- // };
-
- const router = useIonRouter();
- function handleBackButtonClick() {
- router.goBack();
- }
-
- const onSignup = () => {
- history.push('/signup');
- };
-
- // ----------
-
- // email:
- // password:
- const defaultValues: SignInSchemaType = {
- email: 'demo@minimals.c',
- password: '@2Minimal',
- };
-
- const methods = useForm({
- resolver: zodResolver(SignInSchema),
- defaultValues,
- });
-
- const {
- reset,
- watch,
- setValue,
- handleSubmit,
- register,
- formState: { isDirty, dirtyFields, errors, isSubmitting },
- } = methods;
-
- const values = watch();
-
- useEffect(() => {
- (async () => {
- console.log({ isSessionValid });
- if (isSessionValid) {
- await setIsLoggedIn(true);
- router.push('/tabs');
- // reset();
- reset();
- }
- })();
- }, [isSessionValid]);
-
- const onSubmit = handleSubmit(async (data) => {
- // console.log({ data });
-
- try {
- let token = await signInWithPassword({ email: values.email, password: values.password });
- // console.log({ token });
- if (token) setAccessToken(token);
-
- await checkUserSession();
-
- // NOTE: page forward handled by changing of state `isSessionValid`
- } catch (error) {
- console.error(error);
- // const feedbackMessage = getErrorMessage(error);
- // setErrorMessage(feedbackMessage);
- }
- });
-
- const {
- onChange: emailOnChange,
- onBlur: emailOnBlur,
- name: emailName,
- ref: emailRef,
- } = register('email');
- const {
- onChange: passwordOnChange,
- onBlur: passwordOnBlur,
- name: passwordName,
- ref: passwordRef,
- } = register('password');
-
- return (
-
-
-
- handleBackButtonClick()}
- >
-
-
- Login
-
-
- {/* */}
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default connect<{}, StateProps, DispatchProps>({
- mapStateToProps: (state) => ({
- isSessionValid: state.user.isSessionValid,
- }),
- mapDispatchToProps: {
- setIsLoggedIn,
- setUsername,
- setAccessToken,
- checkUserSession,
- },
- component: Login,
-});
diff --git a/03_source/mobile.trunk.1/src/pages/MyLogin/isValidToken.tsx b/03_source/mobile.trunk.1/src/pages/MyLogin/isValidToken.tsx
deleted file mode 100644
index 46ea5fd..0000000
--- a/03_source/mobile.trunk.1/src/pages/MyLogin/isValidToken.tsx
+++ /dev/null
@@ -1,22 +0,0 @@
-import { jwtDecode } from './jwtDecode';
-
-function isValidToken(accessToken: string) {
- if (!accessToken) {
- return false;
- }
-
- try {
- const decoded = jwtDecode(accessToken);
-
- if (!decoded || !('exp' in decoded)) {
- return false;
- }
-
- const currentTime = Date.now() / 1000;
-
- return decoded.exp > currentTime;
- } catch (error) {
- console.error('Error during token validation:', error);
- return false;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/MyLogin/jwtDecode.tsx b/03_source/mobile.trunk.1/src/pages/MyLogin/jwtDecode.tsx
deleted file mode 100644
index f1c37fb..0000000
--- a/03_source/mobile.trunk.1/src/pages/MyLogin/jwtDecode.tsx
+++ /dev/null
@@ -1,19 +0,0 @@
-export function jwtDecode(token: string) {
- try {
- if (!token) return null;
-
- const parts = token.split('.');
- if (parts.length < 2) {
- throw new Error('Invalid token!');
- }
-
- const base64Url = parts[1];
- const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
- const decoded = JSON.parse(atob(base64));
-
- return decoded;
- } catch (error) {
- console.error('Error decoding token:', error);
- throw error;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/MyLogin/style.scss b/03_source/mobile.trunk.1/src/pages/MyLogin/style.scss
deleted file mode 100644
index 9a56dc7..0000000
--- a/03_source/mobile.trunk.1/src/pages/MyLogin/style.scss
+++ /dev/null
@@ -1,23 +0,0 @@
-#login-page, #signup-page, #support-page {
- .login-logo {
- min-height: 200px;
- padding: 20px 0;
- text-align: center;
- }
-
- .login-logo img {
- max-width: 150px;
- }
-
- .list {
- margin-bottom: 0;
- }
-
- .login-form {
- padding: 16px;
- }
-
- ion-input {
- margin-bottom: 10px;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/MyProfile/NotLoggedIn/SignUp.png b/03_source/mobile.trunk.1/src/pages/MyProfile/NotLoggedIn/SignUp.png
deleted file mode 100644
index c24fd58..0000000
Binary files a/03_source/mobile.trunk.1/src/pages/MyProfile/NotLoggedIn/SignUp.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/src/pages/MyProfile/NotLoggedIn/index.tsx b/03_source/mobile.trunk.1/src/pages/MyProfile/NotLoggedIn/index.tsx
deleted file mode 100644
index 43cd38f..0000000
--- a/03_source/mobile.trunk.1/src/pages/MyProfile/NotLoggedIn/index.tsx
+++ /dev/null
@@ -1,208 +0,0 @@
-// REQ0053/profile-page
-//
-// PURPOSE:
-// - Provides functionality view user profile
-//
-// RULES:
-// - T.B.A.
-//
-import React, { useEffect, useRef, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonGrid,
- IonRow,
- IonCol,
- useIonRouter,
- IonButton,
- IonIcon,
- IonPopover,
- IonAvatar,
- IonImg,
- IonItem,
- IonLabel,
- IonList,
- IonModal,
- IonSearchbar,
- useIonModal,
- IonInput,
- RefresherEventDetail,
- IonRefresher,
- IonRefresherContent,
-} from '@ionic/react';
-import SpeakerItem from '../../../components/SpeakerItem';
-import { Speaker } from '../../../models/Speaker';
-import { Session } from '../../../models/Schedule';
-import { connect } from '../../../data/connect';
-import * as selectors from '../../../data/selectors';
-import '../../SpeakerList.scss';
-import { getEvents } from '../../../api/getEvents';
-import { format } from 'date-fns';
-import { Event } from '../types';
-import {
- alertOutline,
- chevronDownCircleOutline,
- createOutline,
- heart,
- menuOutline,
- settingsOutline,
-} from 'ionicons/icons';
-import AboutPopover from '../../../components/AboutPopover';
-import PATHS from '../../../PATHS';
-import { getProfileById } from '../../../api/getProfileById';
-import { defaultMember, Member } from '../../MemberProfile/type';
-import SignUpPng from './SignUp.png';
-
-interface OwnProps {}
-
-interface StateProps {
- speakers: Speaker[];
- speakerSessions: { [key: string]: Session[] };
-}
-
-interface DispatchProps {}
-
-interface SpeakerListProps extends OwnProps, StateProps, DispatchProps {}
-
-const MyProfile: React.FC = ({ speakers, speakerSessions }) => {
- const [profile, setProfile] = useState(defaultMember);
-
- const [showPopover, setShowPopover] = useState(false);
- const [popoverEvent, setPopoverEvent] = useState();
- const modal = useRef(null);
-
- const router = useIonRouter();
-
- function handleShowSettingButtonClick() {
- router.push(PATHS.SETTINGS);
- }
-
- function handleNotImplementedClick() {
- router.push(PATHS.NOT_IMPLEMENTED);
- }
-
- function handleRefresh(event: CustomEvent) {
- setTimeout(() => {
- // Any calls to load data go here
- event.detail.complete();
- }, 2000);
- }
-
- const [disableForwardLoginButton, setDisableForwardLoginButton] = useState(false);
- function handleForwardLoginPage() {
- try {
- setDisableForwardLoginButton(true);
- router.push(PATHS.SIGN_IN);
- setDisableForwardLoginButton(false);
- } catch (error) {
- console.error(error);
- }
- }
-
- useEffect(() => {
- getProfileById('2').then(({ data }) => {
- console.log({ data });
- setProfile(data);
- });
- }, []);
-
- if (!profile) return <>loading>;
-
- return (
-
-
-
-
- {/* */}
- handleShowSettingButtonClick()}>
-
-
-
- My profile
-
-
-
-
-
-
-
-
-
-
- My profile
-
-
-
-
-
-
-
-
- not login yet,
- please login or sign up
-
-
-
- Login
-
-
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- speakers: selectors.getSpeakers(state),
- speakerSessions: selectors.getSpeakerSessions(state),
- }),
- component: React.memo(MyProfile),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/MyProfile/SignUp.png b/03_source/mobile.trunk.1/src/pages/MyProfile/SignUp.png
deleted file mode 100644
index c24fd58..0000000
Binary files a/03_source/mobile.trunk.1/src/pages/MyProfile/SignUp.png and /dev/null differ
diff --git a/03_source/mobile.trunk.1/src/pages/MyProfile/TestContent.tsx b/03_source/mobile.trunk.1/src/pages/MyProfile/TestContent.tsx
deleted file mode 100644
index 39fd43b..0000000
--- a/03_source/mobile.trunk.1/src/pages/MyProfile/TestContent.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { format } from 'date-fns';
-
-export const TestContent = {
- eventDate: format(new Date(), 'yyyy-MM-dd'),
- title: 'helloworld',
- price: 123,
- currency: 'HKD',
- duration_m: 480,
- ageBottom: 12,
- ageTop: 48,
- location: 'Hong Kong Island',
- avatar: 'https://www.ionics.io/img/ionic-logo.png',
-};
diff --git a/03_source/mobile.trunk.1/src/pages/MyProfile/index.tsx b/03_source/mobile.trunk.1/src/pages/MyProfile/index.tsx
deleted file mode 100644
index 310127c..0000000
--- a/03_source/mobile.trunk.1/src/pages/MyProfile/index.tsx
+++ /dev/null
@@ -1,342 +0,0 @@
-// REQ0053/profile-page
-//
-// PURPOSE:
-// - Provides functionality view user profile
-//
-// RULES:
-// - T.B.A.
-//
-import React, { useEffect, useRef, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonGrid,
- IonRow,
- IonCol,
- useIonRouter,
- IonButton,
- IonIcon,
- IonPopover,
- IonAvatar,
- IonImg,
- IonItem,
- IonLabel,
- IonList,
- IonModal,
- IonSearchbar,
- useIonModal,
- IonInput,
- RefresherEventDetail,
- IonRefresher,
- IonRefresherContent,
-} from '@ionic/react';
-import SpeakerItem from '../../components/SpeakerItem';
-import { Speaker } from '../../models/Speaker';
-import { Session } from '../../models/Schedule';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-import '../SpeakerList.scss';
-import { getEvents } from '../../api/getEvents';
-import { format } from 'date-fns';
-import { Event } from './types';
-import {
- alertOutline,
- chevronDownCircleOutline,
- createOutline,
- heart,
- menuOutline,
- settingsOutline,
-} from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-import PATHS from '../../PATHS';
-import { getProfileById } from '../../api/getProfileById';
-import { defaultMember, Member } from '../MemberProfile/type';
-import NotLoggedIn from './NotLoggedIn';
-
-interface OwnProps {}
-
-interface StateProps {
- isLoggedin: boolean;
- //
- speakers: Speaker[];
- speakerSessions: { [key: string]: Session[] };
-}
-
-interface DispatchProps {}
-
-interface SpeakerListProps extends OwnProps, StateProps, DispatchProps {}
-
-const MyProfilePage: React.FC = ({ speakers, speakerSessions, isLoggedin }) => {
- if (!isLoggedin) return ;
-
- const [profile, setProfile] = useState(defaultMember);
-
- const [showPopover, setShowPopover] = useState(false);
- const [popoverEvent, setPopoverEvent] = useState();
- const modal = useRef(null);
-
- const router = useIonRouter();
-
- function handleShowSettingButtonClick() {
- router.push(PATHS.SETTINGS);
- }
-
- function handleNotImplementedClick() {
- router.push(PATHS.NOT_IMPLEMENTED);
- }
-
- function handleRefresh(event: CustomEvent) {
- setTimeout(() => {
- // Any calls to load data go here
- event.detail.complete();
- }, 2000);
- }
-
- useEffect(() => {
- getProfileById('2').then(({ data }) => {
- console.log({ data });
- setProfile(data);
- });
- }, []);
-
- if (!profile) return <>loading>;
-
- return (
-
-
-
-
- {/* */}
- handleShowSettingButtonClick()}>
-
-
-
- My profile
-
-
-
-
-
-
-
-
-
-
- My profile
-
-
-
-
-
-
-
-
-
-
-
-
-
{profile.name}
-
{profile.rank}
-
{profile.verified}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Membership
-
7 of the exclusive privileges
-
-
- Unlock
-
-
-
-
-
-
-
-
Privileges Unlocked
-
-
-
Unlock participant list
-
-
-
-
-
-
Tips of message read
-
-
-
-
Voice and images transmission
-
-
-
-
Pinned to the top of nearby list every 24 hours
-
-
-
-
-
Filter verified users
-
-
-
-
-
-
-
-
- {/* REQ0079/event-filter */}
-
-
-
-
- Filter
-
-
- Maximum number of participant
-
-
- 2-10
- 12-40
- All
-
-
- Held date
-
-
- Weekly
- Monthly
- All
-
-
-
- Apply
-
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- speakers: selectors.getSpeakers(state),
- speakerSessions: selectors.getSpeakerSessions(state),
- isLoggedin: state.user.isLoggedin,
- }),
- component: React.memo(MyProfilePage),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/MyProfile/style.scss b/03_source/mobile.trunk.1/src/pages/MyProfile/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/MyProfile/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/MyProfile/types.ts b/03_source/mobile.trunk.1/src/pages/MyProfile/types.ts
deleted file mode 100644
index 2f4577f..0000000
--- a/03_source/mobile.trunk.1/src/pages/MyProfile/types.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-export interface Event {
- eventDate: Date;
- joinMembers: undefined;
- title: string;
- price: number;
- currency: string;
- duration_m: number;
- ageBottom: number;
- ageTop: number;
- location: string;
- avatar: string;
- //
- id: string;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/NOTES.md b/03_source/mobile.trunk.1/src/pages/NOTES.md
deleted file mode 100644
index 7545f8f..0000000
--- a/03_source/mobile.trunk.1/src/pages/NOTES.md
+++ /dev/null
@@ -1,36 +0,0 @@
-demo-accordion-tutorial
-demo-banking-ui
-demo-capacitor-google-maps-tutorial
-demo-color-tutorial
-demo-ecommerce-example
-demo-facebook-clone
-demo-fast-food-app
-demo-floating-tabs
-demo-instagram-clone
-demo-kanban-board
-demo-ordering-app
-demo-profile-example
-demo-pullstate-tutorial
-demo-react-add-to-cart
-demo-react-calculator
-demo-react-drawing-canvas
-demo-react-hook-form-example
-demo-react-item-list
-demo-react-lifecycles
-demo-react-login
-demo-react-marvel-app
-demo-react-movie-app-with-algolia
-demo-react-notes
-demo-react-onboarding-ui
-demo-react-profile-dashboard-ui
-demo-react-qr-code
-demo-react-quotes
-demo-react-shop-ui
-demo-react-tabs-menus-custom
-demo-react-theme-switcher
-demo-react-whatsapp-clone
-demo-skeleton-text
-demo-sticky-bottom-sheet-example
-demo-storage-example
-demo-swiperjs-tutorial
-demo-weather-app-ui
diff --git a/03_source/mobile.trunk.1/src/pages/NotImplemented/TestContent.tsx b/03_source/mobile.trunk.1/src/pages/NotImplemented/TestContent.tsx
deleted file mode 100644
index 39fd43b..0000000
--- a/03_source/mobile.trunk.1/src/pages/NotImplemented/TestContent.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { format } from 'date-fns';
-
-export const TestContent = {
- eventDate: format(new Date(), 'yyyy-MM-dd'),
- title: 'helloworld',
- price: 123,
- currency: 'HKD',
- duration_m: 480,
- ageBottom: 12,
- ageTop: 48,
- location: 'Hong Kong Island',
- avatar: 'https://www.ionics.io/img/ionic-logo.png',
-};
diff --git a/03_source/mobile.trunk.1/src/pages/NotImplemented/index.tsx b/03_source/mobile.trunk.1/src/pages/NotImplemented/index.tsx
deleted file mode 100644
index f82b1ef..0000000
--- a/03_source/mobile.trunk.1/src/pages/NotImplemented/index.tsx
+++ /dev/null
@@ -1,150 +0,0 @@
-// REQ0042/event-detail
-//
-// PURPOSE:
-// - Provides functionality view event detail
-//
-// RULES:
-// - T.B.A.
-//
-import React, { useEffect, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonButton,
- IonIcon,
- IonDatetime,
- IonSelectOption,
- IonList,
- IonItem,
- IonLabel,
- IonSelect,
- IonPopover,
- IonText,
- IonFooter,
- useIonRouter,
-} from '@ionic/react';
-import './style.scss';
-import {
- chevronBackOutline,
- ellipsisHorizontal,
- ellipsisVertical,
- heart,
- logoIonic,
-} from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-import { format, parseISO } from 'date-fns';
-import { TestContent } from './TestContent';
-import { Helloworld } from '../../api/Helloworld';
-import { getEventById } from '../../api/getEventById';
-import WarningIconSvg from './warning-icon.svg';
-
-interface AboutProps {}
-
-interface Event {
- eventDate: Date;
- joinMembers: undefined;
- title: string;
- price: number;
- currency: string;
- duration_m: number;
- ageBottom: number;
- ageTop: number;
- location: string;
- avatar: string;
-}
-
-const EventDetail: React.FC = () => {
- const [showPopover, setShowPopover] = useState(false);
- const [popoverEvent, setPopoverEvent] = useState();
- const [location, setLocation] = useState<'madison' | 'austin' | 'chicago' | 'seattle'>('madison');
- const [conferenceDate, setConferenceDate] = useState('2047-05-17T00:00:00-05:00');
-
- const selectOptions = {
- header: 'Select a Location',
- };
-
- const presentPopover = (e: React.MouseEvent) => {
- setPopoverEvent(e.nativeEvent);
- setShowPopover(true);
- };
-
- function displayDate(date: string, dateFormat: string) {
- return format(parseISO(date), dateFormat);
- }
-
- const [eventDetail, setEventDetail] = useState(null);
- useEffect(() => {
- Helloworld();
- getEventById('1').then(({ data }) => {
- console.log({ data });
- setEventDetail(data);
- });
- }, []);
-
- const router = useIonRouter();
-
- function handleBackOnClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
-
- {/* */}
- handleBackOnClick()}>
-
-
-
-
-
-
-
-
-
-
-
-
- Sorry this feature
-
Not implemented
-
-
- Back
-
-
-
-
-
-
- );
-};
-
-export default React.memo(EventDetail);
diff --git a/03_source/mobile.trunk.1/src/pages/NotImplemented/style.scss b/03_source/mobile.trunk.1/src/pages/NotImplemented/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/NotImplemented/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/NotImplemented/warning-icon.svg b/03_source/mobile.trunk.1/src/pages/NotImplemented/warning-icon.svg
deleted file mode 100644
index 3061c76..0000000
--- a/03_source/mobile.trunk.1/src/pages/NotImplemented/warning-icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-warning
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/OrderDetail/index.tsx b/03_source/mobile.trunk.1/src/pages/OrderDetail/index.tsx
deleted file mode 100644
index ae08af6..0000000
--- a/03_source/mobile.trunk.1/src/pages/OrderDetail/index.tsx
+++ /dev/null
@@ -1,173 +0,0 @@
-// REQ0041/home_discover_event_tab
-
-import {
- IonPage,
- IonHeader,
- IonToolbar,
- IonButtons,
- IonButton,
- IonIcon,
- IonTitle,
- IonContent,
- useIonRouter,
-} from '@ionic/react';
-import { chevronBackOutline, menuOutline } from 'ionicons/icons';
-import React, { useEffect, useRef, useState } from 'react';
-import { useParams } from 'react-router';
-import { IOrderItem } from '../../models/Order';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-
-import './style.scss';
-import PATHS from '../../PATHS';
-
-interface OwnProps {}
-
-interface StateProps {
- order: IOrderItem;
-}
-
-interface DispatchProps {}
-
-interface OrderDetailProps extends OwnProps, StateProps, DispatchProps {}
-
-const OrderDetail: React.FC = ({ order }) => {
- const { id } = useParams<{ id: string }>();
- const router = useIonRouter();
-
- function handleBackClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
- {/* */}
-
-
-
-
- Order Details (訂單詳情)
-
-
-
-
-
-
-
Total
-
{order.totalAmount}
-
-
-
-
created at:
-
{order.createdAt}
-
-
-
updated at:
-
{order.updatedAt}
-
-
-
-
History
-
Delivery
-
-
- {order.history?.timeline.map((t) => (
-
- ))}
-
-
-
-
擇要
-
-
-
Order time
-
29 May 2025 4:01 pm
-
-
-
-
Payment time
-
29 May 2025 4:01 pm
-
-
-
-
Delivery time for the carrier
-
29 May 2025 4:01 pm
-
-
-
-
Completion time
-
29 May 2025 4:01 pm
-
-
-
-
-
-
-
Delivery
-
-
-
Ship by
-
{order.delivery.shipBy}
-
-
-
-
Speedy
-
{order.delivery.speedy}
-
-
-
-
Tracking No.
-
{order.delivery.trackingNumber}
-
-
-
-
-
Shipping
-
-
-
Address
-
{order.shippingAddress.fullAddress}
-
-
-
-
Phone Number
-
{order.shippingAddress.phoneNumber}
-
-
-
-
-
Payment
-
-
-
Card Type
-
{order.payment.cardType}
-
-
-
-
Card Number
-
{order.payment.cardNumber}
-
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state, ownProps) => ({
- order: selectors.getOrder(state, ownProps),
- }),
- component: React.memo(OrderDetail),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/OrderDetail/style.scss b/03_source/mobile.trunk.1/src/pages/OrderDetail/style.scss
deleted file mode 100644
index 42fe32e..0000000
--- a/03_source/mobile.trunk.1/src/pages/OrderDetail/style.scss
+++ /dev/null
@@ -1,2 +0,0 @@
-#order-detail-page {
-}
diff --git a/03_source/mobile.trunk.1/src/pages/OrderList/TestContent.tsx b/03_source/mobile.trunk.1/src/pages/OrderList/TestContent.tsx
deleted file mode 100644
index 39fd43b..0000000
--- a/03_source/mobile.trunk.1/src/pages/OrderList/TestContent.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { format } from 'date-fns';
-
-export const TestContent = {
- eventDate: format(new Date(), 'yyyy-MM-dd'),
- title: 'helloworld',
- price: 123,
- currency: 'HKD',
- duration_m: 480,
- ageBottom: 12,
- ageTop: 48,
- location: 'Hong Kong Island',
- avatar: 'https://www.ionics.io/img/ionic-logo.png',
-};
diff --git a/03_source/mobile.trunk.1/src/pages/OrderList/index.tsx b/03_source/mobile.trunk.1/src/pages/OrderList/index.tsx
deleted file mode 100644
index 7ac9a06..0000000
--- a/03_source/mobile.trunk.1/src/pages/OrderList/index.tsx
+++ /dev/null
@@ -1,328 +0,0 @@
-// REQ0047/order-page
-
-import React, { useEffect, useRef, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonGrid,
- IonRow,
- IonCol,
- useIonRouter,
- IonButton,
- IonIcon,
- IonPopover,
- IonAvatar,
- IonImg,
- IonItem,
- IonLabel,
- IonList,
- IonModal,
- IonSearchbar,
- useIonModal,
- IonInput,
- IonRefresher,
- IonRefresherContent,
- RefresherEventDetail,
-} from '@ionic/react';
-import SpeakerItem from '../../components/SpeakerItem';
-import { Speaker } from '../../models/Speaker';
-import { IOrderItem } from '../../models/Order';
-import { Session } from '../../models/Schedule';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-import '../SpeakerList.scss';
-import { getEvents } from '../../api/getEvents';
-import { format } from 'date-fns';
-// import { Order } from './types';
-import {
- bookmarksOutline,
- chevronBackOutline,
- chevronDownCircleOutline,
- chevronForwardOutline,
- heart,
- logoIonic,
- menuOutline,
-} from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-import { getOrders } from '../../api/getOrders';
-import Loading from '../../components/Loading';
-import PATHS from '../../PATHS';
-
-interface OwnProps {}
-
-interface StateProps {
- fetchOrderResult: { result: { status: number; ok: boolean }; data: IOrderItem[] };
- //
- speakerSessions: { [key: string]: Session[] };
-}
-
-interface DispatchProps {}
-
-interface SpeakerListProps extends OwnProps, StateProps, DispatchProps {}
-
-const RemainingDays: React.FC<{ amount: number }> = ({ amount }) => {
- return (
-
- );
-};
-
-const NumApplicants: React.FC<{ amount: number }> = ({ amount }) => {
- return (
-
- );
-};
-
-const TotalAmount: React.FC<{ amount: number }> = ({ amount }) => {
- return (
-
-
-
Total:
-
- {amount}{' '}
-
-
-
- );
-};
-
-// Subtotal HK$83.74
-const Subtotal: React.FC<{ amount: number }> = ({ amount }) => {
- return (
-
-
Subtotal:
-
- {amount}{' '}
-
-
- );
-};
-
-// Shipping - HK$10
-const Shipping: React.FC<{ amount: number }> = ({ amount }) => {
- return (
-
-
-
Shipping:
-
- {amount}{' '}
-
-
-
- );
-};
-
-// Discount - HK$10
-const Discount: React.FC<{ amount: number }> = ({ amount }) => {
- return (
-
-
-
Discount:
-
- {amount}{' '}
-
-
-
- );
-};
-
-// Taxes HK$10
-const Tax: React.FC<{ amount: number }> = ({ amount }) => {
- return (
-
-
-
Tax:
-
- {amount}{' '}
-
-
-
- );
-};
-
-const OrderList: React.FC = ({ fetchOrderResult, speakerSessions }) => {
- const router = useIonRouter();
-
- const [showPopover, setShowPopover] = useState(false);
- const [popoverEvent, setPopoverEvent] = useState();
- const modal = useRef(null);
-
- const {
- result: { status },
- data: { orders },
- } = fetchOrderResult;
-
- function handleRefresh(event: CustomEvent) {
- setTimeout(() => {
- // Any calls to load data go here
- event.detail.complete();
- }, 2000);
- }
-
- function handleShowOrderDetail(order_id: string) {
- router.push(PATHS.getOrderDetail(order_id));
- }
-
- function handleNotImplemented() {
- router.push(PATHS.NOT_IMPLEMENTED);
- }
-
- function handleBookmarksClick() {
- router.push(PATHS.FAVOURITES_LIST);
- }
-
- if (status != 200)
- return <>Error during fetching order list, check /orders endpoint if working>;
-
- if (!orders) return ;
-
- if (orders.length == 0) return <>order list is empty>;
-
- return (
-
-
-
-
- {/* */}
-
-
-
-
- My Orders
-
-
-
-
-
-
-
-
-
-
- My Orders
-
-
-
-
- {orders.map((order: IOrderItem, idx: number) => (
- handleShowOrderDetail(order.id)} key={idx}>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
{order.orderNumber}
-
-
-
-
-
-
-
-
Order time:
-
{order.createdAt.split('T')[0]}
-
-
-
Last payment date:
-
{order.last_payment_date}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- ))}
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- fetchOrderResult: selectors.getOrders(state),
- // TODO: review unused code
- speakerSessions: selectors.getSpeakerSessions(state),
- }),
- component: React.memo(OrderList),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/OrderList/style.scss b/03_source/mobile.trunk.1/src/pages/OrderList/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/OrderList/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/OrderList/types.ts b/03_source/mobile.trunk.1/src/pages/OrderList/types.ts
deleted file mode 100644
index c6c8052..0000000
--- a/03_source/mobile.trunk.1/src/pages/OrderList/types.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-// REQ0047/order-page
-
-export interface Order {
- title: string | null;
- order_time: Date;
- last_payment_date: Date | null;
- status: string;
- //
- id: string;
- createdAt: Date;
- updatedAt: Date;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/PrivacyAgreement/index.tsx b/03_source/mobile.trunk.1/src/pages/PrivacyAgreement/index.tsx
deleted file mode 100644
index 850e675..0000000
--- a/03_source/mobile.trunk.1/src/pages/PrivacyAgreement/index.tsx
+++ /dev/null
@@ -1,113 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { chevronBackOutline, settingsOutline } from 'ionicons/icons';
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-import Markdown from 'react-markdown';
-
-const markdown = `
-# 隱私保護政策
-
-歡迎使用 Hong Kong Single party。我們深知隱私對您的重要性,並承諾採取一切合理措施保護您的個人信息。本隱私保護政策旨在向您說明我們如何收集、使用、儲存和保護您的個人信息,以及您對自己信息所擁有的權利。
-
-1. 個人信息的收集
- 為了提供最佳的社交體驗,我們可能會在您使用 Hong Kong Single party 時收集以下類型的個人信息:
-
-- 基本信息:如您的姓名、性别、出生日期、電話號碼和電子郵件地址等。
-- 位置信息:當您開啟位置服務時,我們可能會收集您的設備位置信息,以便向您推薦附近的活動和朋友。
-- 使用信息:包括您使用 Hong Kong Single party 的時間、頻率、偏好設定和交互數據。
-- 活動參與信息:當您參與我們的線下活動時,我們可能會收集您的活動參與情況和反饋。
-
-2. 個人信息的使用
- 我們使用您的個人信息主要用於以下目的:
-
-- 提供和改進服務:確保 Hong Kong Single party 能夠正常運行,並不斷進行優化和改進。
-- 個性化體驗:根據您的偏好和使用習慣,為您提供更加個性化的服務和推薦。
-- 活動組織:組織和安排您感興趣的線下活動,包括遊戲配對和社交聚會。
-- 溝通交流:向您發送重要通知,如活動更新、新功能或客戶服務相關信息。
-- 安全保障:保護您的帳戶安全,預防和調查潛在的安全問題。
-
-3. 個人信息的儲存和保護
- 我們將採取適當的技術和組織措施來保護您的個人信息,防止未經授權的訪問、披露、篡改或損壞。我們會將您的個人信息儲存在安全的服務器上,並限制員工對這些信息的訪問。
-
-4. 個人信息的共享和轉移
- 我們不會將您的個人信息出售或提供給第三方,除非:
-
-- 獲得您的明確同意。
-- 為了提供您要求的服務或功能,需要與可信賴的第三方合作夥伴共享信息。
-- 根據法律法規的要求或為了遵守法律程序。
-
-5. 您的權利
- 您對自己的個人信息擁有以下權利:
-
-- 訪問權:您有權訪問我們持有的您的個人信息。
-- 更正權:如果您發現我們持有的信息有誤,您有權要求更正。
-- 刪除權:在某些情況下,您有權要求我們刪除您的個人信息。
-
-6. 政策更新
- 我們可能會不時更新本隱私保護政策。所有更新將在[友緣圈]應用程序內公佈,並在更新後的隱私保護政策中標明新的生效日期。
-
-7. 聯繫我們
- 如果您對本隱私保護政策有任何疑問或擔憂,或者希望行使上述權利,請通過在 Hong Kong single party 中的聯絡我們,我們團隊會以最快速度回覆,請耐心等候。
-
-感謝您對 Hong Kong Single party 的信任和支持。我們將持續努力,為您提供更安全、更可靠的社交體驗。
-`;
-
-function PrivacyAgreement() {
- const router = useIonRouter();
-
- function handleBackButtonClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
- {/* */}
- handleBackButtonClick()}>
-
-
-
-
- Privacy Agreement
-
-
-
-
-
-
- Privacy Agreement
-
-
-
-
-
-
- );
-}
-
-export default PrivacyAgreement;
diff --git a/03_source/mobile.trunk.1/src/pages/PrivacyAgreement/style.scss b/03_source/mobile.trunk.1/src/pages/PrivacyAgreement/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/PrivacyAgreement/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/SchedulePage.scss b/03_source/mobile.trunk.1/src/pages/SchedulePage.scss
deleted file mode 100644
index aa89750..0000000
--- a/03_source/mobile.trunk.1/src/pages/SchedulePage.scss
+++ /dev/null
@@ -1,58 +0,0 @@
-#schedule-page {
- ion-fab-button {
- --background: var(--ion-color-step-150, #fff);
- --background-hover: var(--ion-color-step-200, #f2f2f2);
- --background-focused: var(--ion-color-step-250, #d9d9d9);
-
- --color: var(--ion-color-primary, #3880ff);
- }
-
- /*
- * Material Design uses the ripple for activated
- * so only style the iOS activated background
- */
- .ios ion-fab-button {
- --background-activated: var(--ion-color-step-250, #d9d9d9);
- }
-
- ion-item-sliding.track-ionic ion-label {
- border-left: 2px solid var(--ion-color-primary);
- padding-left: 10px;
- }
- ion-item-sliding.track-react ion-label {
- border-left: 2px solid var(--ion-color-react);
- padding-left: 10px;
- }
- ion-item-sliding.track-communication ion-label {
- border-left: 2px solid var(--ion-color-communication);
- padding-left: 10px;
- }
- ion-item-sliding.track-tooling ion-label {
- border-left: 2px solid var(--ion-color-tooling);
- padding-left: 10px;
- }
- ion-item-sliding.track-services ion-label {
- border-left: 2px solid var(--ion-color-services);
- padding-left: 10px;
- }
- ion-item-sliding.track-design ion-label {
- border-left: 2px solid var(--ion-color-design);
- padding-left: 10px;
- }
- ion-item-sliding.track-workshop ion-label {
- border-left: 2px solid var(--ion-color-workshop);
- padding-left: 10px;
- }
- ion-item-sliding.track-food ion-label {
- border-left: 2px solid var(--ion-color-food);
- padding-left: 10px;
- }
- ion-item-sliding.track-documentation ion-label {
- border-left: 2px solid var(--ion-color-documentation);
- padding-left: 10px;
- }
- ion-item-sliding.track-navigation ion-label {
- border-left: 2px solid var(--ion-color-navigation);
- padding-left: 10px;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/SchedulePage.tsx b/03_source/mobile.trunk.1/src/pages/SchedulePage.tsx
deleted file mode 100644
index c81e7d9..0000000
--- a/03_source/mobile.trunk.1/src/pages/SchedulePage.tsx
+++ /dev/null
@@ -1,172 +0,0 @@
-import React, { useState, useRef } from 'react';
-
-import {
- IonToolbar,
- IonContent,
- IonPage,
- IonButtons,
- IonTitle,
- IonMenuButton,
- IonSegment,
- IonSegmentButton,
- IonButton,
- IonIcon,
- IonSearchbar,
- IonRefresher,
- IonRefresherContent,
- IonToast,
- IonModal,
- IonHeader,
- getConfig,
-} from '@ionic/react';
-import { options, search } from 'ionicons/icons';
-
-import SessionList from '../components/SessionList';
-import SessionListFilter from '../components/SessionListFilter';
-import './SchedulePage.scss';
-
-import ShareSocialFab from '../components/ShareSocialFab';
-
-import * as selectors from '../data/selectors';
-import { connect } from '../data/connect';
-import { setSearchText } from '../data/sessions/sessions.actions';
-import { Schedule } from '../models/Schedule';
-
-interface OwnProps {}
-
-interface StateProps {
- schedule: Schedule;
- favoritesSchedule: Schedule;
- mode: 'ios' | 'md';
-}
-
-interface DispatchProps {
- setSearchText: typeof setSearchText;
-}
-
-type SchedulePageProps = OwnProps & StateProps & DispatchProps;
-
-const SchedulePage: React.FC = ({
- favoritesSchedule,
- schedule,
- setSearchText,
- mode,
-}) => {
- const [segment, setSegment] = useState<'all' | 'favorites'>('all');
- const [showSearchbar, setShowSearchbar] = useState(false);
- const [showFilterModal, setShowFilterModal] = useState(false);
- const ionRefresherRef = useRef(null);
- const [showCompleteToast, setShowCompleteToast] = useState(false);
-
- const pageRef = useRef(null);
-
- const ios = mode === 'ios';
-
- const doRefresh = () => {
- setTimeout(() => {
- ionRefresherRef.current!.complete();
- setShowCompleteToast(true);
- }, 2500);
- };
-
- return (
-
-
-
- {!showSearchbar && (
-
-
-
- )}
- {ios && (
- setSegment(e.detail.value as any)}>
- All
- Favorites
-
- )}
- {!ios && !showSearchbar && Schedule }
- {showSearchbar && (
- setSearchText(e.detail.value)}
- onIonCancel={() => setShowSearchbar(false)}
- >
- )}
-
-
- {!ios && !showSearchbar && (
- setShowSearchbar(true)}>
-
-
- )}
- {!showSearchbar && (
- setShowFilterModal(true)}>
- {mode === 'ios' ? 'Filter' : }
-
- )}
-
-
-
- {!ios && (
-
- setSegment(e.detail.value as any)}>
- All
- Favorites
-
-
- )}
-
-
-
-
-
- Schedule
-
-
- setSearchText(e.detail.value)}
- >
-
-
-
-
-
-
-
- setShowCompleteToast(false)}
- />
-
-
-
-
-
- setShowFilterModal(false)}
- presentingElement={pageRef.current!}
- >
- setShowFilterModal(false)} />
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- schedule: selectors.getSearchedSchedule(state),
- favoritesSchedule: selectors.getGroupedFavorites(state),
- mode: getConfig()!.get('mode'),
- }),
- mapDispatchToProps: {
- setSearchText,
- },
- component: React.memo(SchedulePage),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/ServiceAgreement/index.tsx b/03_source/mobile.trunk.1/src/pages/ServiceAgreement/index.tsx
deleted file mode 100644
index 32949b5..0000000
--- a/03_source/mobile.trunk.1/src/pages/ServiceAgreement/index.tsx
+++ /dev/null
@@ -1,110 +0,0 @@
-import {
- IonButton,
- IonButtons,
- IonContent,
- IonHeader,
- IonIcon,
- IonPage,
- IonTitle,
- IonToolbar,
- useIonRouter,
-} from '@ionic/react';
-import { chevronBackOutline, settingsOutline } from 'ionicons/icons';
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-import Markdown from 'react-markdown';
-
-const markdown = `
-# 服務協議及社區規範
-
-歡迎使用香港單身派對!本服務協議及社區規範(以下簡稱“協議”)旨在規範您使用香港單身派對(以下簡稱“平台”)的行為,確保平台的健康運營和用戶的良好體驗。請在使用平台前仔細閱讀並遵守本協議。
-
-1. 服務內容
- 香港單身派對提供以下服務:
- (a) 附近的人交友:使用地理定位功能幫助您認識附近的用戶。
- (b) 線上活動參與:平台不定期舉辦各類線上活動,包括但不限於遊戲配對、主題討論和社交聚會。
-
-2. 用戶權利與義務
- (a) 用戶有權使用平台提供的服務,並參與平台組織的活動。
- (b) 用戶應確保其在平台上發布的個人照片及資料真實且屬於本人,不得使用他人的照片或虛假信息。
- (c) 用戶應遵守相關法律法規,不得利用平台進行任何非法活動。
- (d) 用戶應尊重其他用戶的隱私權和個人信息安全,不得收集、使用或披露其他用戶的信息。
- (e) 用戶應維護良好的社區環境,不得發布任何違背公序良俗、含有歧視、騷擾、暴力或色情等內容的信息。
- (f) 用戶不得抄襲、模仿或以其他方式侵犯平台的知識產權,包括但不限於應用程序的界面設計、功能實現和內容創作。
- (g) 本平台僅限於 18 歲以上的用戶使用。未滿 18 歲的用戶不得使用平台,一旦發現,其帳號將被終止。
-
-3. 社區規範
- (a) 禁止發布任何形式的廣告、垃圾信息或欺詐信息。
- (b) 用戶應保持友好互動,避免使用侮辱性、攻擊性的語言。
- (c) 用戶不得發布、傳播任何侵犯他人知識產權或其他合法權益的信息。
- (d) 用戶應遵守平台的操作規範,不得進行任何破壞平台正常運行的行為。
-
-4. 隱私保護
- 平台將採取合理措施保護用戶的個人信息,並遵守相關隱私保護法律法規。用戶同意平台在提供服務過程中收集和使用其個人信息。
-
-5. 違規處理
- 用戶違反本協議時,平台將視情節輕重給予警告或終止其帳號的使用權。嚴重違反者將被永久禁止使用平台服務。
-
-6. 協議的變更與終止
- (a) 平台有權根據需要對本協議進行修改,並在平台上公佈最新版本。
- (b) 如用戶違反本協議,平台有權限制或終止其使用平台的權利。
-
-7. 爭議解決
- 因本協議引起的任何爭議,雙方應首先嘗試友好協商解決;協商不成時,任何一方可直接提出訴訟。
-
-8. 其他
- (a) 本平台保留對所有情況的最終決定權和解釋權。
- (b) 本協議的附件是協議不可分割的一部分,與協議具有同等法律效力。
-
-用戶在使用平台服務時,即表示已閱讀、理解並同意遵守本協議。
-`;
-
-function ServiceAgreement() {
- const router = useIonRouter();
-
- function handleBackButtonClick() {
- router.goBack();
- }
-
- return (
-
-
-
-
- {/* */}
- handleBackButtonClick()}>
-
-
-
-
- Service Agreement
-
-
-
-
-
-
- Service Agreement
-
-
-
-
-
-
- );
-}
-
-export default ServiceAgreement;
diff --git a/03_source/mobile.trunk.1/src/pages/ServiceAgreement/style.scss b/03_source/mobile.trunk.1/src/pages/ServiceAgreement/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/ServiceAgreement/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/SessionDetail.scss b/03_source/mobile.trunk.1/src/pages/SessionDetail.scss
deleted file mode 100644
index 9b09f82..0000000
--- a/03_source/mobile.trunk.1/src/pages/SessionDetail.scss
+++ /dev/null
@@ -1,73 +0,0 @@
-#session-detail-page {
- .session-track-ionic {
- color: var(--ion-color-primary);
- }
-
- .session-track-react {
- color: var(--ion-color-react);
- }
-
- .session-track-communication {
- color: var(--ion-color-communication);
- }
-
- .session-track-tooling {
- color: var(--ion-color-tooling);
- }
-
- .session-track-services {
- color: var(--ion-color-services);
- }
-
- .session-track-design {
- color: var(--ion-color-design);
- }
-
- .session-track-workshop {
- color: var(--ion-color-workshop);
- }
-
- .session-track-food {
- color: var(--ion-color-food);
- }
-
- .session-track-documentation {
- color: var(--ion-color-documentation);
- }
-
- .session-track-navigation {
- color: var(--ion-color-navigation);
- }
-
- .show-favorite {
- position: relative;
- }
-
- .icon-heart-empty {
- position: absolute;
- top: 5px;
- right: 5px;
- transform: scale(1);
- transition: transform 0.3s ease;
- }
-
- .icon-heart {
- position: absolute;
- top: 5px;
- right: 5px;
- transform: scale(0);
- transition: transform 0.3s ease;
- }
-
- .show-favorite .icon-heart {
- transform: scale(1);
- }
-
- .show-favorite .icon-heart-empty {
- transform: scale(0);
- }
-
- h1 {
- margin: 0;
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/SessionDetail.tsx b/03_source/mobile.trunk.1/src/pages/SessionDetail.tsx
deleted file mode 100644
index ad6b25f..0000000
--- a/03_source/mobile.trunk.1/src/pages/SessionDetail.tsx
+++ /dev/null
@@ -1,127 +0,0 @@
-import React from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonContent,
- IonPage,
- IonButtons,
- IonBackButton,
- IonButton,
- IonIcon,
- IonText,
- IonList,
- IonItem,
- IonLabel,
-} from '@ionic/react';
-import { connect } from '../data/connect';
-import { withRouter, RouteComponentProps } from 'react-router';
-import * as selectors from '../data/selectors';
-import { starOutline, star, share, cloudDownload } from 'ionicons/icons';
-import './SessionDetail.scss';
-import { addFavorite, removeFavorite } from '../data/sessions/sessions.actions';
-import { Session } from '../models/Schedule';
-
-interface OwnProps extends RouteComponentProps {}
-
-interface StateProps {
- session?: Session;
- favoriteSessions: number[];
-}
-
-interface DispatchProps {
- addFavorite: typeof addFavorite;
- removeFavorite: typeof removeFavorite;
-}
-
-type SessionDetailProps = OwnProps & StateProps & DispatchProps;
-
-const SessionDetail: React.FC = ({
- session,
- addFavorite,
- removeFavorite,
- favoriteSessions,
-}) => {
- if (!session) {
- return Session not found
;
- }
-
- const isFavorite = favoriteSessions.indexOf(session.id) > -1;
-
- const toggleFavorite = () => {
- isFavorite ? removeFavorite(session.id) : addFavorite(session.id);
- };
- const shareSession = () => {};
- const sessionClick = (text: string) => {
- console.log(`Clicked ${text}`);
- };
-
- return (
-
-
-
-
-
-
-
- toggleFavorite()}>
- {isFavorite ? (
-
- ) : (
-
- )}
-
- shareSession}>
-
-
-
-
-
-
-
-
{session.name}
- {session.tracks.map((track) => (
-
- {track}
-
- ))}
-
{session.description}
-
- {session.timeStart} – {session.timeEnd}
-
- {session.location}
-
-
-
- sessionClick('watch')} button>
- Watch
-
- sessionClick('add to calendar')} button>
- Add to Calendar
-
- sessionClick('mark as unwatched')} button>
- Mark as Unwatched
-
- sessionClick('download video')} button>
- Download Video
-
-
- sessionClick('leave feedback')} button>
- Leave Feedback
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state, ownProps) => ({
- session: selectors.getSession(state, ownProps),
- favoriteSessions: state.data.favorites,
- }),
- mapDispatchToProps: {
- addFavorite,
- removeFavorite,
- },
- component: withRouter(SessionDetail),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/Settings/TestContent.tsx b/03_source/mobile.trunk.1/src/pages/Settings/TestContent.tsx
deleted file mode 100644
index 39fd43b..0000000
--- a/03_source/mobile.trunk.1/src/pages/Settings/TestContent.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import { format } from 'date-fns';
-
-export const TestContent = {
- eventDate: format(new Date(), 'yyyy-MM-dd'),
- title: 'helloworld',
- price: 123,
- currency: 'HKD',
- duration_m: 480,
- ageBottom: 12,
- ageTop: 48,
- location: 'Hong Kong Island',
- avatar: 'https://www.ionics.io/img/ionic-logo.png',
-};
diff --git a/03_source/mobile.trunk.1/src/pages/Settings/index.tsx b/03_source/mobile.trunk.1/src/pages/Settings/index.tsx
deleted file mode 100644
index 3254b91..0000000
--- a/03_source/mobile.trunk.1/src/pages/Settings/index.tsx
+++ /dev/null
@@ -1,298 +0,0 @@
-// REQ0054/user-setting
-//
-// PURPOSE:
-// - Provides functionality view user profile
-//
-// RULES:
-// - T.B.A.
-//
-import React, { useEffect, useRef, useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonGrid,
- IonRow,
- IonCol,
- useIonRouter,
- IonButton,
- IonIcon,
- IonPopover,
- IonAvatar,
- IonImg,
- IonItem,
- IonLabel,
- IonList,
- IonModal,
- IonSearchbar,
- useIonModal,
- IonInput,
- IonNote,
- IonText,
-} from '@ionic/react';
-import SpeakerItem from '../../components/SpeakerItem';
-import { Speaker } from '../../models/Speaker';
-import { Session } from '../../models/Schedule';
-import { connect } from '../../data/connect';
-import * as selectors from '../../data/selectors';
-import '../SpeakerList.scss';
-import { getEvents } from '../../api/getEvents';
-import { format } from 'date-fns';
-import { Event } from './types';
-import {
- alertCircleOutline,
- alertOutline,
- chatbubbleOutline,
- chevronBackOutline,
- chevronForward,
- chevronForwardOutline,
- createOutline,
- documentTextOutline,
- gift,
- giftOutline,
- heart,
- languageOutline,
- listCircle,
- menuOutline,
- settingsOutline,
- shareSocialOutline,
- trashOutline,
-} from 'ionicons/icons';
-import AboutPopover from '../../components/AboutPopover';
-import { OverlayEventDetail } from '@ionic/react/dist/types/components/react-component-lib/interfaces';
-import PATHS from '../../PATHS';
-import { logoutUser, setAccessToken, setIsLoggedIn } from '../../data/user/user.actions';
-
-interface OwnProps {}
-
-interface StateProps {
- speakers: Speaker[];
- speakerSessions: { [key: string]: Session[] };
-}
-
-interface DispatchProps {
- logoutUser: typeof logoutUser;
- setAccessToken: typeof setAccessToken;
- setIsLoggedIn: typeof setIsLoggedIn;
-}
-
-interface SettingsProps extends OwnProps, StateProps, DispatchProps {}
-
-const SettingsPage: React.FC = ({
- speakers,
- speakerSessions,
- logoutUser,
- setAccessToken,
- setIsLoggedIn,
-}) => {
- const [events, setEvents] = useState([]);
- const [showPopover, setShowPopover] = useState(false);
- const [popoverEvent, setPopoverEvent] = useState();
- const modal = useRef(null);
-
- const router = useIonRouter();
-
- useEffect(() => {
- getEvents().then(({ data }) => {
- console.log({ data });
- setEvents(data);
- });
- }, []);
-
- function handleBackButtonClick() {
- router.goBack();
- }
-
- function handleLanguageClick() {
- router.push(PATHS.CHANGE_LANGUAGE);
- }
-
- function handleNotImplementedClick() {
- router.push(PATHS.NOT_IMPLEMENTED);
- }
-
- function handleDemoPageClick() {
- router.push(PATHS.DEMO_PAGE);
- }
-
- function handleServiceAgreementClick() {
- router.push(PATHS.SERVICE_AGREEMENT);
- }
-
- function handlePrivacyAgreementClick() {
- router.push(PATHS.PRIVACY_AGREEMENT);
- }
-
- const [showLogoutConfirmModal, setShowLogoutConfirmModal] = useState(false);
- function handleConfirmLogoutClick() {
- setShowLogoutConfirmModal(true);
- }
-
- function handleLogoutClick() {
- setAccessToken();
- setIsLoggedIn(false);
-
- router.push('/tabs', 'forward', 'replace');
-
- setShowLogoutConfirmModal(false);
- }
- function handleLogoutCancel() {
- setShowLogoutConfirmModal(false);
- }
-
- return (
-
-
-
-
- {/* */}
- handleBackButtonClick()}>
-
-
-
-
-
-
- Setting
-
-
-
-
-
-
-
- Setting
-
-
-
-
- handleNotImplementedClick()}>
-
- Contact us
-
-
-
-
- Language
-
-
-
-
- Privacy
-
-
-
-
- Service agreement
-
-
-
-
-
- Share
-
-
-
-
-
- Delete Account
-
-
-
-
-
- Demo pages
-
-
-
-
-
-
- Logout
-
-
-
-
- {/* REQ0058/logout */}
-
-
-
-
-
-
-
- Logout
-
-
- Unable to receive notifications after logging out
-
-
-
-
- Cancel
-
-
- Logout
-
-
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- speakers: selectors.getSpeakers(state),
- speakerSessions: selectors.getSpeakerSessions(state),
- }),
- mapDispatchToProps: {
- logoutUser,
- setAccessToken,
- setIsLoggedIn,
- },
- component: React.memo(SettingsPage),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/Settings/style.scss b/03_source/mobile.trunk.1/src/pages/Settings/style.scss
deleted file mode 100644
index 5fae6e3..0000000
--- a/03_source/mobile.trunk.1/src/pages/Settings/style.scss
+++ /dev/null
@@ -1,103 +0,0 @@
-#about-page {
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .about-header {
- position: relative;
-
- width: 100%;
- height: 30%;
- }
-
- .about-header .about-image {
- position: absolute;
-
- top: 0;
- left: 0;
- bottom: 0;
- right: 0;
-
- background-position: center;
- background-size: cover;
- background-repeat: no-repeat;
-
- opacity: 0;
-
- transition: opacity 500ms ease-in-out;
- }
-
- .about-header .madison {
- background-image: url('/assets/img/about/madison.jpg');
- }
-
- .about-header .austin {
- background-image: url('/assets/img/about/austin.jpg');
- }
-
- .about-header .chicago {
- background-image: url('/assets/img/about/chicago.jpg');
- }
-
- .about-header .seattle {
- background-image: url('/assets/img/about/seattle.jpg');
- }
-
- .about-info {
- position: relative;
- margin-top: -10px;
- border-radius: 10px;
- background: var(--ion-background-color, #fff);
- z-index: 2; // display rounded border above header image
- }
-
- .about-info h3 {
- margin-top: 0;
- }
-
- .about-info ion-list {
- padding-top: 0;
- }
-
- .about-info p {
- line-height: 130%;
-
- color: var(--ion-color-dark);
- }
-
- .about-info ion-icon {
- margin-inline-end: 32px;
- }
-
- /*
- * iOS Only
- */
-
- .ios .about-info {
- --ion-padding: 19px;
- }
-
- .ios .about-info h3 {
- font-weight: 700;
- }
-}
-
-#date-input-popover {
- --offset-y: -var(--ion-safe-area-bottom);
-
- --max-width: 90%;
- --width: 336px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Settings/types.ts b/03_source/mobile.trunk.1/src/pages/Settings/types.ts
deleted file mode 100644
index 2f4577f..0000000
--- a/03_source/mobile.trunk.1/src/pages/Settings/types.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-export interface Event {
- eventDate: Date;
- joinMembers: undefined;
- title: string;
- price: number;
- currency: string;
- duration_m: number;
- ageBottom: number;
- ageTop: number;
- location: string;
- avatar: string;
- //
- id: string;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Signup.scss b/03_source/mobile.trunk.1/src/pages/Signup.scss
deleted file mode 100644
index be8bb75..0000000
--- a/03_source/mobile.trunk.1/src/pages/Signup.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-.signup-logo {
- min-height: 200px;
- padding: 20px 0;
- text-align: center;
-}
-
-.signup-logo img {
- max-width: 150px;
-}
-
-.signup-form {
- padding: 16px;
-}
-
-ion-input {
- margin-bottom: 10px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Signup.tsx b/03_source/mobile.trunk.1/src/pages/Signup.tsx
deleted file mode 100644
index c9b49a3..0000000
--- a/03_source/mobile.trunk.1/src/pages/Signup.tsx
+++ /dev/null
@@ -1,102 +0,0 @@
-import React, { useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonRow,
- IonCol,
- IonButton,
- IonInput,
-} from '@ionic/react';
-import { useHistory } from 'react-router';
-import './Signup.scss';
-import { setIsLoggedIn, setUsername } from '../data/user/user.actions';
-import { connect } from '../data/connect';
-
-interface SignupProps {
- setIsLoggedIn: typeof setIsLoggedIn;
- setUsername: typeof setUsername;
-}
-
-const Signup: React.FC = ({ setIsLoggedIn, setUsername: setUsernameAction }) => {
- const history = useHistory();
- const [signup, setSignup] = useState({ username: '', password: '' });
- const [submitted, setSubmitted] = useState(false);
-
- const onSignup = async (e: React.FormEvent) => {
- e.preventDefault();
- setSubmitted(true);
-
- if (signup.username && signup.password) {
- await setIsLoggedIn(true);
- await setUsernameAction(signup.username);
- history.push('/tabs/schedule');
- }
- };
-
- return (
-
-
-
-
-
-
- Signup
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default connect<{}, {}, SignupProps>({
- mapDispatchToProps: {
- setIsLoggedIn,
- setUsername,
- },
- component: Signup,
-});
diff --git a/03_source/mobile.trunk.1/src/pages/SpeakerDetail.scss b/03_source/mobile.trunk.1/src/pages/SpeakerDetail.scss
deleted file mode 100644
index c077e0b..0000000
--- a/03_source/mobile.trunk.1/src/pages/SpeakerDetail.scss
+++ /dev/null
@@ -1,79 +0,0 @@
-#speaker-detail {
- /*
- * Speaker Background
- */
-
- ion-toolbar {
- position: absolute;
-
- top: 0;
- left: 0;
- right: 0;
-
- --background: transparent;
- --color: white;
- }
-
- ion-toolbar ion-back-button,
- ion-toolbar ion-button,
- ion-toolbar ion-menu-button {
- --color: white;
- }
-
- .speaker-background {
- position: relative;
-
- display: flex;
-
- padding-top: var(--ion-safe-area-top);
-
- align-items: center;
- justify-content: center;
-
- flex-direction: column;
-
- height: calc(250px + var(--ion-safe-area-top));
-
- background: center / cover url("/assets/img/speaker-background.png")
- no-repeat;
- }
-
- .speaker-background img {
- width: 70px;
- border-radius: 50%;
- margin-top: calc(-1 * var(--ion-safe-area-top));
- }
-
- .speaker-background h2 {
- position: absolute;
-
- bottom: 10px;
-
- color: white;
- }
-
- .md .speaker-background {
- box-shadow: rgba(0, 0, 0, 0.2) 0 3px 1px -2px,
- rgba(0, 0, 0, 0.14) 0 2px 2px 0px, rgba(0, 0, 0, 0.12) 0 1px 5px 0;
- }
-
- .ios .speaker-background {
- box-shadow: rgba(0, 0, 0, 0.12) 0 4px 16px;
- }
-
- /*
- * Speaker Details
- */
-
- .speaker-detail p {
- margin-left: 6px;
- margin-right: 6px;
- }
-
- .speaker-detail hr {
- margin-top: 20px;
- margin-bottom: 20px;
-
- background: var(--ion-color-step-150, #d7d8da);
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/SpeakerDetail.tsx b/03_source/mobile.trunk.1/src/pages/SpeakerDetail.tsx
deleted file mode 100644
index 3e0cd8d..0000000
--- a/03_source/mobile.trunk.1/src/pages/SpeakerDetail.tsx
+++ /dev/null
@@ -1,172 +0,0 @@
-import React, { useState } from 'react';
-import { RouteComponentProps } from 'react-router';
-
-import './SpeakerDetail.scss';
-
-import { ActionSheetButton } from '@ionic/core';
-import {
- IonActionSheet,
- IonChip,
- IonIcon,
- IonHeader,
- IonLabel,
- IonToolbar,
- IonButtons,
- IonContent,
- IonButton,
- IonBackButton,
- IonPage,
-} from '@ionic/react';
-import {
- callOutline,
- callSharp,
- logoTwitter,
- logoGithub,
- logoInstagram,
- shareOutline,
- shareSharp,
-} from 'ionicons/icons';
-
-import { connect } from '../data/connect';
-import * as selectors from '../data/selectors';
-
-import { Speaker } from '../models/Speaker';
-
-interface OwnProps extends RouteComponentProps {
- speaker?: Speaker;
-}
-
-interface StateProps {}
-
-interface DispatchProps {}
-
-interface SpeakerDetailProps extends OwnProps, StateProps, DispatchProps {}
-
-const SpeakerDetail: React.FC = ({ speaker }) => {
- const [showActionSheet, setShowActionSheet] = useState(false);
- const [actionSheetButtons, setActionSheetButtons] = useState([]);
- const [actionSheetHeader, setActionSheetHeader] = useState('');
-
- function openSpeakerShare(speaker: Speaker) {
- setActionSheetButtons([
- {
- text: 'Copy Link',
- handler: () => {
- console.log('Copy Link clicked');
- },
- },
- {
- text: 'Share via ...',
- handler: () => {
- console.log('Share via clicked');
- },
- },
- {
- text: 'Cancel',
- role: 'cancel',
- handler: () => {
- console.log('Cancel clicked');
- },
- },
- ]);
- setActionSheetHeader(`Share ${speaker.name}`);
- setShowActionSheet(true);
- }
-
- function openContact(speaker: Speaker) {
- setActionSheetButtons([
- {
- text: `Email ( ${speaker.email} )`,
- handler: () => {
- window.open('mailto:' + speaker.email);
- },
- },
- {
- text: `Call ( ${speaker.phone} )`,
- handler: () => {
- window.open('tel:' + speaker.phone);
- },
- },
- ]);
- setActionSheetHeader(`Share ${speaker.name}`);
- setShowActionSheet(true);
- }
-
- function openExternalUrl(url: string) {
- window.open(url, '_blank');
- }
-
- if (!speaker) {
- return Speaker not found
;
- }
-
- return (
-
-
-
-
-
-
-
-
- openContact(speaker)}>
-
-
- openSpeakerShare(speaker)}>
-
-
-
-
-
-
-
-
-
{speaker.name}
-
-
-
-
{speaker.about} Say hello on social media!
-
-
-
-
openExternalUrl(`https://twitter.com/${speaker.twitter}`)}
- >
-
- Twitter
-
-
-
openExternalUrl('https://github.com/ionic-team/ionic-framework')}
- >
-
- GitHub
-
-
-
openExternalUrl('https://instagram.com/ionicframework')}
- >
-
- Instagram
-
-
-
- setShowActionSheet(false)}
- buttons={actionSheetButtons}
- />
-
- );
-};
-
-export default connect({
- mapStateToProps: (state, ownProps) => ({
- speaker: selectors.getSpeaker(state, ownProps),
- }),
- component: SpeakerDetail,
-});
diff --git a/03_source/mobile.trunk.1/src/pages/SpeakerList.scss b/03_source/mobile.trunk.1/src/pages/SpeakerList.scss
deleted file mode 100644
index 64b9fa3..0000000
--- a/03_source/mobile.trunk.1/src/pages/SpeakerList.scss
+++ /dev/null
@@ -1,48 +0,0 @@
-#speaker-list {
- .speaker-card {
- display: flex;
- flex-direction: column;
- }
-
- /* Due to the fact the cards are inside of columns the margins don't overlap
- * properly so we want to remove the extra margin between cards
- */
- ion-col:not(:last-of-type) .speaker-card {
- margin-bottom: 0;
- }
-
- .speaker-card .speaker-item {
- --min-height: 85px;
- }
-
- .speaker-card .speaker-item h2 {
- font-size: 18px;
- font-weight: 500;
- letter-spacing: 0.02em;
- }
-
- .speaker-card .speaker-item p {
- font-size: 13px;
- letter-spacing: 0.02em;
- }
-
- .speaker-card ion-card-header {
- padding: 0;
- }
-
- .speaker-card ion-card-content {
- flex: 1 1 auto;
-
- padding: 0;
- }
-
- .ios ion-list {
- margin-bottom: 10px;
- }
-
- .md ion-list {
- border-top: 1px solid var(--ion-color-step-150, #d7d8da);
-
- padding: 0;
- }
-}
\ No newline at end of file
diff --git a/03_source/mobile.trunk.1/src/pages/SpeakerList.tsx b/03_source/mobile.trunk.1/src/pages/SpeakerList.tsx
deleted file mode 100644
index 05f1d65..0000000
--- a/03_source/mobile.trunk.1/src/pages/SpeakerList.tsx
+++ /dev/null
@@ -1,75 +0,0 @@
-import React from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonGrid,
- IonRow,
- IonCol,
-} from '@ionic/react';
-import SpeakerItem from '../components/SpeakerItem';
-import { Speaker } from '../models/Speaker';
-import { Session } from '../models/Schedule';
-import { connect } from '../data/connect';
-import * as selectors from '../data/selectors';
-import './SpeakerList.scss';
-
-interface OwnProps {}
-
-interface StateProps {
- speakers: Speaker[];
- speakerSessions: { [key: string]: Session[] };
-}
-
-interface DispatchProps {}
-
-interface SpeakerListProps extends OwnProps, StateProps, DispatchProps {}
-
-const SpeakerList: React.FC = ({ speakers, speakerSessions }) => {
- return (
-
-
-
-
-
-
- Speakers
-
-
-
-
-
-
- Speakers
-
-
-
-
-
- {speakers.map((speaker) => (
-
-
-
- ))}
-
-
-
-
- );
-};
-
-export default connect({
- mapStateToProps: (state) => ({
- speakers: selectors.getSpeakers(state),
- speakerSessions: selectors.getSpeakerSessions(state),
- }),
- component: React.memo(SpeakerList),
-});
diff --git a/03_source/mobile.trunk.1/src/pages/Support.scss b/03_source/mobile.trunk.1/src/pages/Support.scss
deleted file mode 100644
index db1f9db..0000000
--- a/03_source/mobile.trunk.1/src/pages/Support.scss
+++ /dev/null
@@ -1,17 +0,0 @@
-.support-logo {
- min-height: 200px;
- padding: 20px 0;
- text-align: center;
-}
-
-.support-logo img {
- max-width: 150px;
-}
-
-.list {
- margin-bottom: 0;
-}
-
-.support-form {
- padding: 16px;
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Support.tsx b/03_source/mobile.trunk.1/src/pages/Support.tsx
deleted file mode 100644
index 5e74702..0000000
--- a/03_source/mobile.trunk.1/src/pages/Support.tsx
+++ /dev/null
@@ -1,89 +0,0 @@
-import React, { useState } from 'react';
-import {
- IonHeader,
- IonToolbar,
- IonTitle,
- IonContent,
- IonPage,
- IonButtons,
- IonMenuButton,
- IonRow,
- IonCol,
- IonButton,
- IonTextarea,
- useIonToast,
- useIonViewWillEnter,
-} from '@ionic/react';
-import './Support.scss';
-
-const Support: React.FC = () => {
- const [present] = useIonToast();
- const [supportMessage, setSupportMessage] = useState('');
- const [submitted, setSubmitted] = useState(false);
-
- useIonViewWillEnter(() => {
- present({
- message: 'This does not actually send a support request.',
- duration: 3000,
- });
- });
-
- const submit = async (e: React.FormEvent) => {
- e.preventDefault();
- setSubmitted(true);
-
- if (supportMessage) {
- setSupportMessage('');
- setSubmitted(false);
-
- present({
- message: 'Your support request has been sent.',
- duration: 3000,
- });
- }
- };
-
- return (
-
-
-
-
-
-
- Support
-
-
-
-
-
-
-
-
-
-
-
-
- );
-};
-
-export default Support;
diff --git a/03_source/mobile.trunk.1/src/pages/Tutorial/Tutorial.scss b/03_source/mobile.trunk.1/src/pages/Tutorial/Tutorial.scss
deleted file mode 100644
index 5b9f8a7..0000000
--- a/03_source/mobile.trunk.1/src/pages/Tutorial/Tutorial.scss
+++ /dev/null
@@ -1,56 +0,0 @@
-#tutorial-page {
- ion-toolbar {
- --background: transparent;
- --border-color: transparent;
- }
-
- .slide-title {
- margin-top: 2.8rem;
- }
-
- .slider {
- display: grid;
- grid-template-columns: repeat(4, 100%);
- grid-template-rows: 1fr;
-
- height: 100%;
-
- overflow: scroll;
- scroll-snap-type: x mandatory;
- }
-
- section {
- display: flex;
- flex-direction: column;
- align-items: center;
- justify-content: center;
- text-align: center;
-
- width: 100%;
-
- scroll-snap-align: center;
- scroll-snap-stop: always;
- }
-
- .slide-image {
- max-height: 50%;
- max-width: 60%;
- margin: -5vh 0 0;
- pointer-events: none;
- }
-
- b {
- font-weight: 500;
- }
-
- p {
- padding: 0 40px;
- font-size: 14px;
- line-height: 1.5;
- color: var(--ion-color-step-600, #60646b);
-
- b {
- color: var(--ion-text-color, #000000);
- }
- }
-}
diff --git a/03_source/mobile.trunk.1/src/pages/Tutorial/index.tsx b/03_source/mobile.trunk.1/src/pages/Tutorial/index.tsx
deleted file mode 100644
index 13074b1..0000000
--- a/03_source/mobile.trunk.1/src/pages/Tutorial/index.tsx
+++ /dev/null
@@ -1,120 +0,0 @@
-import React, { useRef, useEffect } from 'react';
-import {
- IonContent,
- IonPage,
- IonHeader,
- IonToolbar,
- IonButtons,
- IonButton,
- IonIcon,
- useIonViewWillEnter,
-} from '@ionic/react';
-import { arrowForward } from 'ionicons/icons';
-import { setMenuEnabled } from '../../data/sessions/sessions.actions';
-import { setHasSeenTutorial } from '../../data/user/user.actions';
-import './Tutorial.scss';
-import { connect } from '../../data/connect';
-import { RouteComponentProps } from 'react-router';
-import PATHS from '../../PATHS';
-
-interface OwnProps extends RouteComponentProps {}
-interface DispatchProps {
- setHasSeenTutorial: typeof setHasSeenTutorial;
- setMenuEnabled: typeof setMenuEnabled;
-}
-
-interface TutorialProps extends OwnProps, DispatchProps {}
-
-const Tutorial: React.FC = ({ history, setHasSeenTutorial, setMenuEnabled }) => {
- const sliderRef = useRef(null);
-
- useIonViewWillEnter(() => {
- setMenuEnabled(false);
- // Scroll to first slide when entering the tutorial
- if (sliderRef.current) {
- sliderRef.current.scrollTo({
- left: 0,
- behavior: 'smooth',
- });
- }
- });
-
- const startApp = async () => {
- await setHasSeenTutorial(true);
- await setMenuEnabled(true);
- history.push(PATHS.EVENT_LIST, { direction: 'none' });
- };
-
- return (
-
-
-
-
-
- Skip
-
-
-
-
-
-
- {/* */}
-
-
-
-
- Welcome to ICA
-
-
- The ionic conference app is a practical preview of the ionic framework in
- action, and a demonstration of proper code use.
-
-
-
- {/* */}
-
-
-
-
What is Ionic?
-
- Ionic Framework is an open source SDK that enables developers to build high
- quality mobile apps with web technologies like HTML, CSS, and JavaScript.
-
-
-
- {/* */}
-
-
-
-
What is Ionic Appflow?
-
- Ionic Appflow is a powerful set of services and features built on top of
- Ionic Framework that brings a totally new level of app development agility to mobile
- dev teams.
-
-
-
- {/* */}
-
-
-
-
Ready to Play?
-
- Continue
-
-
-
-
-
-
-
- );
-};
-
-export default connect({
- mapDispatchToProps: {
- setHasSeenTutorial,
- setMenuEnabled,
- },
- component: Tutorial,
-});
diff --git a/03_source/mobile.trunk.1/src/pages/store/CartStore.js b/03_source/mobile.trunk.1/src/pages/store/CartStore.js
deleted file mode 100644
index ee30210..0000000
--- a/03_source/mobile.trunk.1/src/pages/store/CartStore.js
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Store } from 'pullstate';
-
-const CartStore = new Store({
- cart: [],
-});
-
-export default CartStore;
-
-export const addToCart = (product) => {
- const currentCart = CartStore.getRawState().cart;
- const added = !currentCart.includes(product);
-
- CartStore.update((s) => {
- if (currentCart.includes(product)) {
- s.cart = currentCart.filter((current) => current !== product);
- } else {
- s.cart = [...s.cart, product];
- }
- });
-
- return added;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/store/FavouritesStore.js b/03_source/mobile.trunk.1/src/pages/store/FavouritesStore.js
deleted file mode 100644
index f33f0ba..0000000
--- a/03_source/mobile.trunk.1/src/pages/store/FavouritesStore.js
+++ /dev/null
@@ -1,29 +0,0 @@
-import { Store } from 'pullstate';
-
-const FavouritesStore = new Store({
- favourites: [],
-});
-
-export default FavouritesStore;
-
-export const checkIfFavourite = (product) => {
- const currentFavourites = FavouritesStore.getRawState().favourites;
- const isFavourite = currentFavourites.includes(product);
-
- return isFavourite;
-};
-
-export const addToFavourites = (product, category) => {
- const currentFavourites = FavouritesStore.getRawState().favourites;
- const added = !currentFavourites.includes(product);
-
- FavouritesStore.update((s) => {
- if (!added) {
- s.favourites = currentFavourites.filter((current) => current !== product);
- } else {
- s.favourites = [...s.favourites, product];
- }
- });
-
- return added;
-};
diff --git a/03_source/mobile.trunk.1/src/pages/store/Selectors.js b/03_source/mobile.trunk.1/src/pages/store/Selectors.js
deleted file mode 100644
index c5073f7..0000000
--- a/03_source/mobile.trunk.1/src/pages/store/Selectors.js
+++ /dev/null
@@ -1,10 +0,0 @@
-import { createSelector } from 'reselect';
-
-const getState = (state) => state;
-
-// General getters
-export const getFavourites = createSelector(getState, (state) => state.favourites);
-export const checkFavourites = (product) =>
- createSelector(getState, (state) => state.favourites.includes(product));
-export const getCart = createSelector(getState, (state) => state.cart);
-export const getCartCount = createSelector(getState, (state) => state.cart.length);
diff --git a/03_source/mobile.trunk.1/src/pages/store/index.js b/03_source/mobile.trunk.1/src/pages/store/index.js
deleted file mode 100644
index bbd2f01..0000000
--- a/03_source/mobile.trunk.1/src/pages/store/index.js
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as FavouritesStore } from './FavouritesStore';
-export { default as CartStore } from './CartStore';
diff --git a/03_source/mobile.trunk.1/src/pages/utils/index.js b/03_source/mobile.trunk.1/src/pages/utils/index.js
deleted file mode 100644
index 9303337..0000000
--- a/03_source/mobile.trunk.1/src/pages/utils/index.js
+++ /dev/null
@@ -1,143 +0,0 @@
-export const capitalize = (s) => s && (s[0].toUpperCase() + s.slice(1)).replaceAll('_', ' ');
-
-export const productInfo = {
- men: {
- coverImage: '/assets/react-shop/men.jpeg',
- productTypes: {
- formal_shirts: {
- coverImage: '/assets/react-shop/formal_shirts2.jpeg',
- filters: ['None', 'Regular', 'Slim', 'Stretch'],
- searchPlaceholder: 'Single Cuff',
- },
- sportswear: {
- coverImage: '/assets/react-shop/sportswear2.jpeg',
- filters: ['None', 'Trainers', 'Joggers', 'Shorts', 'Hoodie'],
- searchPlaceholder: 'Nike',
- },
- coats: {
- coverImage: '/assets/react-shop/coats3.jpeg',
- filters: ['None', 'Funnel', 'Hooded', 'Barbour', 'Collar'],
- searchPlaceholder: 'Bomber',
- },
- },
- },
- women: {
- coverImage: '/assets/react-shop/women.jpeg',
- productTypes: {
- jeans: {
- coverImage: '/assets/react-shop/jeans.jpeg',
- filters: ['None', 'Skinny', 'Slim', 'Boot Cut', 'Flare'],
- searchPlaceholder: 'Skinny',
- },
- dresses: {
- coverImage: '/assets/react-shop/dresses3.jpeg',
- filters: ['None', 'Short', 'Maxi', 'Long', 'Regular'],
- searchPlaceholder: 'Long Sleeve',
- },
- makeup: {
- coverImage: '/assets/react-shop/makeup2.jpeg',
- filters: ['None', 'Mascara', 'Lip Gloss', 'Foundation', 'Blush'],
- searchPlaceholder: 'Brush Set',
- },
- },
- },
- home: {
- coverImage: '/assets/react-shop/home.jpeg',
- productTypes: {
- beds: {
- coverImage: '/assets/react-shop/beds.jpeg',
- filters: ['None', 'Metal', 'Ottoman', 'Storage', 'Wooden'],
- searchPlaceholder: 'Upholstered',
- },
- office: {
- coverImage: '/assets/react-shop/office.jpeg',
- filters: ['None', 'Desk', 'Chair', 'Lamp', 'Shelf'],
- searchPlaceholder: 'Space Saving',
- },
- coffee_tables: {
- coverImage: '/assets/react-shop/coffee_table.jpeg',
- filters: ['None', 'Wood', 'Glass', 'Round', 'Storage'],
- searchPlaceholder: 'Oak Effect',
- },
- },
- },
-};
-
-export const productSpecs = {
- dimensions: {
- header: 'Dimensions',
- options: [
- {
- label: 'Height',
- value: '100cm',
- },
- {
- label: 'Width',
- value: '130cm',
- },
- {
- label: 'Depth',
- value: '150cm',
- },
- ],
- },
- shipping: {
- header: 'Shipping',
- options: [
- {
- label: 'UK',
- value: '£4.99',
- },
- {
- label: 'USA',
- value: '£6.99',
- },
- {
- label: 'Gloal',
- value: '£9.99',
- },
- ],
- },
- colors: {
- header: 'Colors',
- noteColor: true,
- options: [
- {
- label: 'Red',
- value: true,
- },
- {
- label: 'Blue',
- value: false,
- },
- {
- label: 'Brown',
- value: true,
- },
- ],
- },
- sizes: {
- header: 'Sizes',
- wrapText: true,
- options: [
- {
- label: 'Large',
- value: 'Check size guide for details',
- },
- {
- label: 'Width',
- value: 'Check size guide for details',
- },
- {
- label: 'Depth',
- value: 'Check size guide for details',
- },
- ],
- },
-};
-
-export const randomCount = () => {
- const max = 273;
- const min = 23;
- return Math.floor(Math.random() * (max - min) + min).toFixed(0);
-};
diff --git a/03_source/mobile.trunk.1/src/react-app-env.d.ts b/03_source/mobile.trunk.1/src/react-app-env.d.ts
deleted file mode 100644
index 6431bc5..0000000
--- a/03_source/mobile.trunk.1/src/react-app-env.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-///
diff --git a/03_source/mobile.trunk.1/src/routes/DemoRoute.tsx b/03_source/mobile.trunk.1/src/routes/DemoRoute.tsx
deleted file mode 100644
index ab73f99..0000000
--- a/03_source/mobile.trunk.1/src/routes/DemoRoute.tsx
+++ /dev/null
@@ -1,137 +0,0 @@
-//
-// route for demo pages
-//
-
-import { Route } from 'react-router';
-import PATHS from '../PATHS';
-import DemoWeatherAppUi from '../pages/DemoWeatherAppUi';
-
-// import OrderDetails from './pages/OrderDetail';
-import DemoReactThemeSwitcher from '../pages/DemoReactThemeSwitcher';
-// import Demo2FaExample from '../pages/Demo2FaExample';
-import DemoAccordionTutorial from '../pages/DemoAccordionTutorial';
-import DemoBankingUi from '../pages/DemoBankingUi';
-import DemoBlogPostUi from '../pages/DemoBlogPostUi';
-import DemoCapacitorGoogleMapsTutorial from '../pages/DemoCapacitorGoogleMapsTutorial';
-import DemoClubHouse from '../pages/DemoClubHouse';
-import DemoColorTutorial from '../pages/DemoColorTutorial';
-import DemoDictionaryApp from '../pages/DemoDictionaryApp';
-import DemoEcommerceExample from '../pages/DemoEcommerceExample';
-import DemoFacebookClone from '../pages/DemoFacebookClone';
-import DemoFastFoodApp from '../pages/DemoFastFoodApp';
-import DemoFloatingTabs from '../pages/DemoFloatingTabs';
-import DemoInstagramClone from '../pages/DemoInstagramClone';
-import DemoKanbanBoard from '../pages/DemoKanbanBoard';
-import DemoOrderingApp from '../pages/DemoOrderingApp';
-import DemoPinterestFloatingTabBar from '../pages/DemoPinterestFloatingTabBar';
-import DemoProfileExample from '../pages/DemoProfileExample';
-import DemoPullstateTutorial from '../pages/DemoPullstateTutorial';
-import DemoQrScanner from '../pages/DemoQrScanner';
-import DemoQuizApp from '../pages/DemoQuizApp';
-import DemoQuoteApp from '../pages/DemoQuoteApp';
-import DemoReactAddToCart from '../pages/DemoReactAddToCart';
-import DemoReactCalculator from '../pages/DemoReactCalculator';
-import DemoReactDrawingCanvas from '../pages/DemoReactDrawingCanvas';
-import DemoReactHookFormExample from '../pages/DemoReactHookFormExample';
-import DemoReactItemList from '../pages/DemoReactItemList';
-import DemoReactLifecycles from '../pages/DemoReactLifecycles';
-import DemoReactLogin from '../pages/DemoReactLogin';
-import DemoReactMovieAppWithAlgolia from '../pages/DemoReactMovieAppWithAlgolia';
-import DemoReactNotes from '../pages/DemoReactNotes';
-import DemoReactOverlayHooks from '../pages/DemoReactOverlayHooks';
-import DemoReactPollApp from '../pages/DemoReactPollApp';
-import DemoReactProfileDashboardUi from '../pages/DemoReactProfileDashboardUi';
-import DemoReactQuotes from '../pages/DemoReactQuotes';
-import DemoReactShopUi from '../pages/DemoReactShopUi';
-import DemoReactSwitchTabs from '../pages/DemoReactSwitchTabs';
-import DemoReactTabsMenusCustom from '../pages/DemoReactTabsMenusCustom';
-import DemoReactTravelApp from '../pages/DemoReactTravelApp';
-import DemoRecipeApp from '../pages/DemoRecipeApp';
-import DemoRestaurantFinder from '../pages/DemoRestaurantFinder';
-import DemoScoreBoard from '../pages/DemoScoreBoard';
-import DemoShopAppUi from '../pages/DemoShopAppUi';
-import DemoSkeletonText from '../pages/DemoSkeletonText';
-import DemoSlidingProfile from '../pages/DemoSlidingProfile';
-import DemoStickyBottomSheetExample from '../pages/DemoStickyBottomSheetExample';
-import DemoStorageExample from '../pages/DemoStorageExample';
-import Demo2FaExample from '../pages/Demo2FaExample';
-
-const AppDemoRoute: React.FC = () => {
- // return
-
- return (
- <>
- } />
-
- } />
- } />
-
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
- } />
-