From 0dfd9eab7fc56054c9e73bcc0755abf815c4bd0b Mon Sep 17 00:00:00 2001 From: Denis Nykyforov Date: Sat, 14 Mar 2026 17:17:34 +0200 Subject: [PATCH 1/5] Add initial documentation for Barnee agent, outlining project structure, architecture, key dependencies, build setup, and coding conventions. --- AGENTS.md | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..087212b --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,101 @@ +# Barnee — Agent Guide + +Cocktail recipe app built with **Kotlin Multiplatform (KMP)** and **Compose Multiplatform**, targeting Android and iOS. + +## Project Structure + +``` +app/ Android application entry point (MainActivity, App) +shared/ KMP business logic (data, domain, DI) — shared between Android & iOS +ui/ KMP Compose Multiplatform UI (screens, components, theme) +iosApp/ iOS host app (SwiftUI + CocoaPods) +``` + +Source sets inside `shared/` and `ui/`: +- `commonMain` — shared Kotlin code +- `androidMain` — Android-specific implementations +- `iosMain` — iOS-specific implementations + +## Architecture + +**MVI** with a reactive `StateMachine` base class (in `shared/src/commonMain/.../domain/StateMachine.kt`): +- Each feature has a `*StateMachine` that implements `State`, `Action`, and a `Reducer` +- `StateMachine` extends Voyager's `ScreenModel` and is managed by Koin DI +- Navigation is handled via `Router` and Voyager screens defined in `ui/` + +**Layers:** +- `data/model` — pure data classes (serializable, `@Parcelize`) +- `data/remote` — Ktor-based API clients (`Api`, `AiApi`, `CloudinaryApi`) +- `data/repository` — repositories bridging remote + local +- `data/local` — `LocalStore` backed by Multiplatform Settings / DataStore +- `domain/` — state machines and use cases +- `ui/screen/` — Compose Multiplatform screens, one per feature + +## Key Dependencies + +| Library | Purpose | +|---------|---------| +| Voyager | Navigation + `ScreenModel` (ViewModel) | +| Koin | Dependency injection (multiplatform) | +| Ktor | HTTP client (cocktail API, OpenAI, Cloudinary) | +| Kotlinx Serialization | JSON parsing | +| Multiplatform Settings | Local persistence (DataStore on Android) | +| OpenAI client | AI cocktail generation (`BartenderStateMachine`) | +| Compose Multiplatform | Shared UI for Android and iOS | + +## Build Setup + +**Prerequisites:** +- JDK 17+ on `PATH` (install via `brew install --cask zulu@17`) +- Android SDK at `sdk.dir` set in `local.properties` +- API keys in `local.properties`: + ``` + OPEN_AI_API_KEY=... + CLOUDINARY_API_SECRET=... + ``` +- For iOS: CocoaPods installed; run `pod install` inside `iosApp/` + +**Build commands:** +```bash +# Android debug APK +./gradlew :app:assembleDebug + +# Run Android unit tests +./gradlew :shared:testDebugUnitTest +./gradlew :ui:testDebugUnitTest + +# Check for dependency updates +./gradlew dependencyUpdates + +# iOS — generate the shared framework first +./gradlew :shared:podPublishDebugXCFramework +``` + +## Coding Conventions + +- **New feature checklist:** + 1. Add `State`, `Action`, `Reducer` → create `*StateMachine` in `shared/.../domain/` + 2. Register the state machine as a `factory` in `commonModule` (`shared/.../di/Koin.kt`) + 3. Add a Voyager `Screen` in `ui/.../screen/` + 4. Register the screen in `ui/.../navigation/ScreenRegistry.kt` + 5. Add a route in `shared/.../domain/navigation/AppScreens.kt` if deep-linkable + +- **Platform-specific code:** use `expect`/`actual` with implementations in `androidMain` / `iosMain` +- **All copyright headers** must use the MIT license block matching the rest of the project +- **Package name:** `com.popalay.barnee` +- **Kotlin style:** official (`kotlin.code.style=official` in `gradle.properties`) +- Do not add inline imports; keep all imports at the top of the file + +## Screens + +| Screen | StateMachine | +|--------|-------------| +| Discovery | `DiscoveryStateMachine` | +| Drink detail | `DrinkStateMachine` | +| Search | `SearchStateMachine` | +| Parameterized drink list | `ParameterizedDrinkListStateMachine` | +| Collection | `CollectionStateMachine` | +| Collection list | `CollectionListStateMachine` | +| Add to collection | `AddToCollectionStateMachine` | +| Bartender (AI) | `BartenderStateMachine` | +| Shake to drink | `ShakeToDrinkStateMachine` | From e39d5ff97b8bfe4a142bb029e2b5abe2de671318 Mon Sep 17 00:00:00 2001 From: Denis Nykyforov Date: Sat, 14 Mar 2026 18:50:30 +0200 Subject: [PATCH 2/5] Upgrade dependencies and fix runtime crashes - Bump AGP to 8.9.1, compileSdk/targetSdk to 36, Gradle wrapper to 8.11.1 - Upgrade Kotlin to 2.0.21 with Compose Multiplatform plugin, Compose to 1.6.11 - Set JVM toolchain to 21 across all modules - Upgrade Voyager to 1.1.0-beta02 to fix AndroidScreenLifecycleOwner lifecycle crash on back navigation; update NavigatorSaver lambda signature accordingly - Upgrade Koin to 3.5.6 to match koin-compose 1.0.4 (binary-incompatible with 3.4.x) - Downgrade Kermit logger to 2.0.6 (compatible with Kotlin 2.0.x); fix Logger call-site overload ambiguity - Fix StateMachine initialization NPE by introducing backing MutableStateFlow; use tryEmit with extraBufferCapacity=64 to prevent dropped actions after back navigation - Replace custom AppBottomSheetNavigator to avoid removed ModalBottomSheetLayout API - Give image loader its own plain HttpClient to avoid ContentNegotiation sending Accept: application/json on image requests (HTTP 406) - Simplify AsyncImage: remove BoxWithConstraints and placeholder logic now that ExternalImageUrl.scaledUrl returns the plain URL - Update CI workflows to actions/checkout@v4 and setup-java@v4 with Zulu JDK 21 Made-with: Cursor --- .github/workflows/android.yml | 7 +- .github/workflows/scheduled.yml | 9 +- AGENTS.md | 64 ++++++----- app/build.gradle.kts | 9 +- build.gradle.kts | 4 +- gradle.properties | 1 + gradle/libs.versions.toml | 28 +++-- gradle/wrapper/gradle-wrapper.properties | 2 +- iosApp/iosApp.xcodeproj/project.pbxproj | 18 --- shared/build.gradle.kts | 20 ++-- .../com/popalay/barnee/data/model/ImageUrl.kt | 5 +- .../com/popalay/barnee/data/remote/AiApi.kt | 6 +- .../com/popalay/barnee/domain/StateMachine.kt | 22 ++-- .../barnee/domain/deeplink/DeeplinkManager.kt | 6 +- .../barnee/domain/log/NavigationLogger.kt | 2 +- .../barnee/domain/log/StateMachineLogger.kt | 4 +- ui/build.gradle.kts | 20 ++-- .../popalay/barnee/ui/platform/ImageLoader.kt | 5 +- .../com/popalay/barnee/ui/ComposeApp.kt | 7 +- .../popalay/barnee/ui/common/AsyncImage.kt | 36 ++---- .../barnee/ui/extensions/Navigation.kt | 6 +- .../ui/navigation/AppBottomSheetNavigator.kt | 105 ++++++++++++++++++ .../barnee/ui/navigation/NavigationHost.kt | 14 +-- 23 files changed, 238 insertions(+), 162 deletions(-) create mode 100644 ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/AppBottomSheetNavigator.kt diff --git a/.github/workflows/android.yml b/.github/workflows/android.yml index de776f2..2c998ba 100644 --- a/.github/workflows/android.yml +++ b/.github/workflows/android.yml @@ -30,14 +30,15 @@ jobs: shell: bash run: echo "BUILD_NUMBER=$(expr $GITHUB_RUN_NUMBER + 5210)" >> $GITHUB_ENV - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: set up JDK - uses: actions/setup-java@v1 + uses: actions/setup-java@v4 with: - java-version: 19 + distribution: zulu + java-version: 21 - name: Make checksum executable run: chmod +x .github/checksum.sh diff --git a/.github/workflows/scheduled.yml b/.github/workflows/scheduled.yml index fa7a16d..756e00e 100644 --- a/.github/workflows/scheduled.yml +++ b/.github/workflows/scheduled.yml @@ -12,12 +12,13 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up JDK - uses: actions/setup-java@v1 + uses: actions/setup-java@v4 with: - java-version: 11 + distribution: zulu + java-version: 21 - name: Copy CI gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties @@ -26,7 +27,7 @@ jobs: run: ./gradlew dependencyUpdates - name: Upload dependency updates report - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: name: dependency-updates path: build/dependencyUpdates diff --git a/AGENTS.md b/AGENTS.md index 087212b..864e4fe 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,7 @@ # Barnee — Agent Guide -Cocktail recipe app built with **Kotlin Multiplatform (KMP)** and **Compose Multiplatform**, targeting Android and iOS. +Cocktail recipe app built with **Kotlin Multiplatform (KMP)** and **Compose Multiplatform**, +targeting Android and iOS. ## Project Structure @@ -12,18 +13,22 @@ iosApp/ iOS host app (SwiftUI + CocoaPods) ``` Source sets inside `shared/` and `ui/`: + - `commonMain` — shared Kotlin code - `androidMain` — Android-specific implementations - `iosMain` — iOS-specific implementations ## Architecture -**MVI** with a reactive `StateMachine` base class (in `shared/src/commonMain/.../domain/StateMachine.kt`): +**MVI** with a reactive `StateMachine` base class (in +`shared/src/commonMain/.../domain/StateMachine.kt`): + - Each feature has a `*StateMachine` that implements `State`, `Action`, and a `Reducer` - `StateMachine` extends Voyager's `ScreenModel` and is managed by Koin DI - Navigation is handled via `Router` and Voyager screens defined in `ui/` **Layers:** + - `data/model` — pure data classes (serializable, `@Parcelize`) - `data/remote` — Ktor-based API clients (`Api`, `AiApi`, `CloudinaryApi`) - `data/repository` — repositories bridging remote + local @@ -33,19 +38,20 @@ Source sets inside `shared/` and `ui/`: ## Key Dependencies -| Library | Purpose | -|---------|---------| -| Voyager | Navigation + `ScreenModel` (ViewModel) | -| Koin | Dependency injection (multiplatform) | -| Ktor | HTTP client (cocktail API, OpenAI, Cloudinary) | -| Kotlinx Serialization | JSON parsing | -| Multiplatform Settings | Local persistence (DataStore on Android) | -| OpenAI client | AI cocktail generation (`BartenderStateMachine`) | -| Compose Multiplatform | Shared UI for Android and iOS | +| Library | Purpose | +|------------------------|--------------------------------------------------| +| Voyager | Navigation + `ScreenModel` (ViewModel) | +| Koin | Dependency injection (multiplatform) | +| Ktor | HTTP client (cocktail API, OpenAI, Cloudinary) | +| Kotlinx Serialization | JSON parsing | +| Multiplatform Settings | Local persistence (DataStore on Android) | +| OpenAI client | AI cocktail generation (`BartenderStateMachine`) | +| Compose Multiplatform | Shared UI for Android and iOS | ## Build Setup **Prerequisites:** + - JDK 17+ on `PATH` (install via `brew install --cask zulu@17`) - Android SDK at `sdk.dir` set in `local.properties` - API keys in `local.properties`: @@ -56,6 +62,7 @@ Source sets inside `shared/` and `ui/`: - For iOS: CocoaPods installed; run `pod install` inside `iosApp/` **Build commands:** + ```bash # Android debug APK ./gradlew :app:assembleDebug @@ -74,13 +81,14 @@ Source sets inside `shared/` and `ui/`: ## Coding Conventions - **New feature checklist:** - 1. Add `State`, `Action`, `Reducer` → create `*StateMachine` in `shared/.../domain/` - 2. Register the state machine as a `factory` in `commonModule` (`shared/.../di/Koin.kt`) - 3. Add a Voyager `Screen` in `ui/.../screen/` - 4. Register the screen in `ui/.../navigation/ScreenRegistry.kt` - 5. Add a route in `shared/.../domain/navigation/AppScreens.kt` if deep-linkable - -- **Platform-specific code:** use `expect`/`actual` with implementations in `androidMain` / `iosMain` + 1. Add `State`, `Action`, `Reducer` → create `*StateMachine` in `shared/.../domain/` + 2. Register the state machine as a `factory` in `commonModule` (`shared/.../di/Koin.kt`) + 3. Add a Voyager `Screen` in `ui/.../screen/` + 4. Register the screen in `ui/.../navigation/ScreenRegistry.kt` + 5. Add a route in `shared/.../domain/navigation/AppScreens.kt` if deep-linkable + +- **Platform-specific code:** use `expect`/`actual` with implementations in `androidMain` / + `iosMain` - **All copyright headers** must use the MIT license block matching the rest of the project - **Package name:** `com.popalay.barnee` - **Kotlin style:** official (`kotlin.code.style=official` in `gradle.properties`) @@ -88,14 +96,14 @@ Source sets inside `shared/` and `ui/`: ## Screens -| Screen | StateMachine | -|--------|-------------| -| Discovery | `DiscoveryStateMachine` | -| Drink detail | `DrinkStateMachine` | -| Search | `SearchStateMachine` | +| Screen | StateMachine | +|--------------------------|--------------------------------------| +| Discovery | `DiscoveryStateMachine` | +| Drink detail | `DrinkStateMachine` | +| Search | `SearchStateMachine` | | Parameterized drink list | `ParameterizedDrinkListStateMachine` | -| Collection | `CollectionStateMachine` | -| Collection list | `CollectionListStateMachine` | -| Add to collection | `AddToCollectionStateMachine` | -| Bartender (AI) | `BartenderStateMachine` | -| Shake to drink | `ShakeToDrinkStateMachine` | +| Collection | `CollectionStateMachine` | +| Collection list | `CollectionListStateMachine` | +| Add to collection | `AddToCollectionStateMachine` | +| Bartender (AI) | `BartenderStateMachine` | +| Shake to drink | `ShakeToDrinkStateMachine` | diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 63eb6f8..d083967 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -22,6 +22,7 @@ plugins { kotlin("multiplatform") + kotlin("plugin.compose") version libs.versions.kotlin id("com.android.application") id("com.google.gms.google-services") id("kotlin-parcelize") @@ -76,8 +77,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_19 - targetCompatibility = JavaVersion.VERSION_19 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } packaging { @@ -86,12 +87,10 @@ android { namespace = "com.popalay.barnee" - composeOptions { - kotlinCompilerExtensionVersion = libs.versions.jetbrainsComposeCompiler.get() - } } kotlin { + jvmToolchain(21) androidTarget() sourceSets { sourceSets["androidMain"].dependencies { diff --git a/build.gradle.kts b/build.gradle.kts index b1ce4c7..0761d88 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -33,6 +33,8 @@ buildscript { } } -plugins{ +plugins { id("com.github.ben-manes.versions") version libs.versions.dependencyUpdatesPlugin + id("org.jetbrains.compose") version libs.versions.jetbrainsCompose apply false + kotlin("plugin.compose") version libs.versions.kotlin apply false } diff --git a/gradle.properties b/gradle.properties index 5732c2f..e5025ac 100644 --- a/gradle.properties +++ b/gradle.properties @@ -10,3 +10,4 @@ android.disableResourceValidation=true android.nonFinalResIds=false android.nonTransitiveRClass=false org.jetbrains.compose.experimental.uikit.enabled=true +kotlin.mpp.androidGradlePluginCompatibility.nowarn=true diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 3b6fcbd..39b6e16 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,17 +1,17 @@ [versions] android-minSdk = "28" -android-targetSdk = "34" -android-compileSdk = "34" +android-targetSdk = "36" +android-compileSdk = "36" imageLoader = "1.6.2" insetsx = "0.1.0-alpha10" -kotlin = "1.9.0" -android-gradlePlugin = "8.2.2" +kotlin = "2.0.21" +android-gradlePlugin = "8.9.1" google-services-gradlePlugin = "4.3.15" dependencyUpdatesPlugin = "0.47.0" buildkonfig-gradle-plugin = "0.13.3" -androidx-activity = "1.7.2" -androidx-lifecycle = "2.6.1" +androidx-activity = "1.13.0" +androidx-lifecycle = "2.8.0" androidx-datastore = "1.0.0" androidx-espresso = "3.5.1" androidx-core-splashscreen = "1.0.1" @@ -20,11 +20,11 @@ kotlinxDatetime = "0.4.0" ktor = "2.3.2" junit = "4.13.2" androidx-test = "1.1.5" -logger = "2.0.0-RC5" -coroutines = "1.7.3" -koin = "3.4.3" +logger = "2.0.6" +coroutines = "1.10.2" +koin = "3.5.6" koin-compose = "1.0.4" -multiplatformsettings = "1.0.0" +multiplatformsettings = "1.3.0" firebase-dynamicLinks = "21.1.0" multiplatformpaging = "3.2.0-alpha05-0.2.3" parcelize = "0.1.2" @@ -33,9 +33,8 @@ uri = "0.0.13" uuid = "0.8.0" youtubePlayer = "12.0.0" openai = "3.3.2" -voyager = "1.0.0-rc06" -jetbrainsCompose = "1.4.3" -jetbrainsComposeCompiler = "1.5.0" +voyager = "1.1.0-beta02" +jetbrainsCompose = "1.6.11" [libraries] #Core @@ -82,7 +81,6 @@ multiplatformsettings-datastore = { module = "com.russhwolf:multiplatform-settin #Voyager voyager-navigator = { module = "cafe.adriel.voyager:voyager-navigator", version.ref = "voyager" } -voyager-bottomSheetNavigator = { module = "cafe.adriel.voyager:voyager-bottom-sheet-navigator", version.ref = "voyager" } voyager-transitions = { module = "cafe.adriel.voyager:voyager-transitions", version.ref = "voyager" } voyager-koin = { module = "cafe.adriel.voyager:voyager-koin", version.ref = "voyager" } @@ -103,5 +101,5 @@ insetsx = { module = "com.moriatsushi.insetsx:insetsx", version.ref = "insetsx" [bundles] ktor = ["ktor-core", "ktor-android", "ktor-serialization", "ktor-logging"] koin = ["koin-android", "koin-core", "koin-compose"] -vojager = ["voyager-navigator", "voyager-bottomSheetNavigator", "voyager-transitions", "voyager-koin"] +vojager = ["voyager-navigator", "voyager-transitions", "voyager-koin"] kotlinx = ["kotlinx-coroutines-core", "kotlinx-datetime"] diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d4081da..e2847c8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip networkTimeout=10000 validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME diff --git a/iosApp/iosApp.xcodeproj/project.pbxproj b/iosApp/iosApp.xcodeproj/project.pbxproj index 2afa9d5..c888c04 100644 --- a/iosApp/iosApp.xcodeproj/project.pbxproj +++ b/iosApp/iosApp.xcodeproj/project.pbxproj @@ -114,7 +114,6 @@ 7555FF77242A565900829871 /* Sources */, 7555FF79242A565900829871 /* Resources */, F85CB1118929364A9C6EFABC /* Frameworks */, - 4260E2E22261F2CC8EFA4D0F /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -171,23 +170,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 4260E2E22261F2CC8EFA4D0F /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources-${CONFIGURATION}-input-files.xcfilelist", - ); - name = "[CP] Copy Pods Resources"; - outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources-${CONFIGURATION}-output-files.xcfilelist", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-iosApp/Pods-iosApp-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; 98D614C51D2DA07C614CC46E /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index 5fda7c7..debf3b0 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -33,6 +33,8 @@ plugins { } kotlin { + applyDefaultHierarchyTemplate() + jvmToolchain(21) androidTarget() iosX64() iosArm64() @@ -49,7 +51,7 @@ kotlin { baseName = "shared" isStatic = true } - extraSpecAttributes["resources"] = "['src/commonMain/resources/**', 'src/iosMain/resources/**']" + } sourceSets { @@ -97,14 +99,7 @@ kotlin { implementation(libs.firebase.dynamicLinks) } - val iosX64Main by getting - val iosArm64Main by getting - val iosSimulatorArm64Main by getting - val iosMain by creating { - dependsOn(commonMain) - iosX64Main.dependsOn(this) - iosArm64Main.dependsOn(this) - iosSimulatorArm64Main.dependsOn(this) + val iosMain by getting { dependencies { implementation(libs.ktor.ios) } @@ -115,6 +110,7 @@ kotlin { android { compileSdk = libs.versions.android.compileSdk.get().toInt() sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml") + sourceSets["main"].assets.srcDirs("src/androidMain/assets") defaultConfig { minSdk = libs.versions.android.minSdk.get().toInt() consumerProguardFiles("proguard-rules.pro") @@ -126,8 +122,8 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_19 - targetCompatibility = JavaVersion.VERSION_19 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } } @@ -150,7 +146,7 @@ buildkonfig { fun getSecret(name: String): Pair { val secret = System.getenv(name) - ?: gradleLocalProperties(rootDir).getProperty(name) + ?: gradleLocalProperties(rootDir, providers).getProperty(name) ?: error("No $name provided") return name to secret } diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/ImageUrl.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/ImageUrl.kt index fa06696..3630669 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/ImageUrl.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/ImageUrl.kt @@ -54,10 +54,7 @@ value class InternalImageUrl(private val rawUrl: String) : ImageUrl { @Parcelize value class ExternalImageUrl(override val url: String) : ImageUrl { - override fun scaledUrl(size: Pair): String { - val separator = if (url.contains('?')) "&" else "?" - return "$url${separator}imwidth=${size.first}" - } + override fun scaledUrl(size: Pair): String = url override fun toString(): String = url } diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/AiApi.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/AiApi.kt index 739b978..39061bd 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/AiApi.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/AiApi.kt @@ -54,19 +54,19 @@ class AiApi( try { json.decodeFromString(it) } catch (e: SerializationException) { - Logger.e(throwable = e, tag = "AiAPI") { "Drink parsed with error" } + Logger.e(e, "AiAPI") { "Drink parsed with error" } null } } - Logger.d(tag = "AiAPI") { result.toString() } + Logger.d("AiAPI") { result.toString() } val drink = result?.drink ?: error("Drink is null") val imageUrl = openAi.imageURL(creteImageCreationRequest(result.imagePrompt)).firstOrNull()?.url ?: error("Image is null") val cloudinaryImageUrl = cloudinaryApi.uploadImage(imageUrl).toImageUrl() - Logger.d(tag = "AiAPI") { "Image url: $cloudinaryImageUrl" } + Logger.d("AiAPI") { "Image url: $cloudinaryImageUrl" } return drink.copy( id = "generated_${uuid4()}", diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/StateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/StateMachine.kt index 2853c7a..7c8b2b7 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/StateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/StateMachine.kt @@ -23,7 +23,7 @@ package com.popalay.barnee.domain import cafe.adriel.voyager.core.model.ScreenModel -import cafe.adriel.voyager.core.model.coroutineScope +import cafe.adriel.voyager.core.model.screenModelScope import com.popalay.barnee.domain.log.StateMachineLogger import com.popalay.barnee.domain.navigation.Router import com.popalay.barnee.domain.navigation.navigationSideEffect @@ -32,13 +32,12 @@ import com.popalay.barnee.util.wrap import io.matthewnelson.component.parcelize.Parcelable import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.MutableSharedFlow +import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted -import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.merge import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onStart import kotlinx.coroutines.flow.stateIn -import kotlinx.coroutines.launch import org.koin.core.component.KoinComponent import org.koin.core.component.inject @@ -53,30 +52,33 @@ abstract class StateMachine( initialState: S, reducer: Reducer, ) : KoinComponent, ScreenModel { - private val sharedActionFlow = MutableSharedFlow() - private val currentState: S get() = (stateFlow.unwrap() as StateFlow).value + private val sharedActionFlow = MutableSharedFlow(extraBufferCapacity = 64) private val logger by inject() private val router by inject() + private val currentStateFlow = MutableStateFlow(initialState) val stateFlow: CFlow = sharedActionFlow .onStart { emit(InitialAction) } .onEach { logger.log(this, it) } .let { merge( - it.reducer({ currentState }, ::dispatch), - it.navigationSideEffect({ currentState }, router) + it.reducer({ currentStateFlow.value }, ::dispatch), + it.navigationSideEffect({ currentStateFlow.value }, router) ) } - .onEach { logger.log(this, it) } + .onEach { + currentStateFlow.value = it + logger.log(this, it) + } .stateIn( - coroutineScope, + screenModelScope, SharingStarted.Eagerly, initialState ) .wrap() fun dispatch(action: Action) { - coroutineScope.launch { sharedActionFlow.emit(action) } + sharedActionFlow.tryEmit(action) } } diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkManager.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkManager.kt index 5867c85..5018caa 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkManager.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkManager.kt @@ -37,14 +37,14 @@ class DeeplinkManager( @OptIn(DelicateCoroutinesApi::class) fun handle(deeplink: Url) { - Logger.i(tag = "DeeplinkManager") { "Deeplink received: $deeplink" } + Logger.i("DeeplinkManager") { "Deeplink received: $deeplink" } deeplinkHandlers.firstOrNull { it.supports(deeplink) }?.createDestination(deeplink)?.let { destinations -> - Logger.i(tag = "DeeplinkManager") { "Deeplink handled: $deeplink" } + Logger.i("DeeplinkManager") { "Deeplink handled: $deeplink" } GlobalScope.launch { router.updateStack(StackChange.ReplaceAll(destinations)) } } ?: run { - Logger.i(tag = "DeeplinkManager") { "Deeplink not handled: $deeplink" } + Logger.i("DeeplinkManager") { "Deeplink not handled: $deeplink" } } } } diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/NavigationLogger.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/NavigationLogger.kt index a2819a1..4cbda23 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/NavigationLogger.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/NavigationLogger.kt @@ -28,6 +28,6 @@ import com.popalay.barnee.domain.navigation.StackChange class NavigationLogger { fun log(tag: T, stackChange: StackChange) { - Logger.i(tag = tag::class.simpleName.orEmpty()) { "Stack change => $stackChange" } + Logger.i(tag::class.simpleName.orEmpty()) { "Stack change => $stackChange" } } } diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/StateMachineLogger.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/StateMachineLogger.kt index 198b682..e678074 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/StateMachineLogger.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/StateMachineLogger.kt @@ -29,10 +29,10 @@ import com.popalay.barnee.domain.StateMachine class StateMachineLogger { fun > log(tag: T, action: Action) { - Logger.i(tag = tag::class.simpleName.orEmpty()) { "Action => $action" } + Logger.i(tag::class.simpleName.orEmpty()) { "Action => $action" } } fun > log(tag: T, state: State) { - Logger.i(tag = tag::class.simpleName.orEmpty()) { "State => $state" } + Logger.i(tag::class.simpleName.orEmpty()) { "State => $state" } } } diff --git a/ui/build.gradle.kts b/ui/build.gradle.kts index feef3bb..eefdd88 100644 --- a/ui/build.gradle.kts +++ b/ui/build.gradle.kts @@ -3,6 +3,7 @@ import dev.icerock.gradle.MRVisibility plugins { kotlin("multiplatform") kotlin("native.cocoapods") + kotlin("plugin.compose") version libs.versions.kotlin id("com.android.library") id("kotlin-parcelize") id("org.jetbrains.compose") version libs.versions.jetbrainsCompose @@ -10,6 +11,7 @@ plugins { } kotlin { + applyDefaultHierarchyTemplate() androidTarget() iosX64() iosArm64() @@ -26,7 +28,7 @@ kotlin { baseName = "ui" isStatic = true } - extraSpecAttributes["resources"] = "['src/commonMain/resources/**', 'src/iosMain/resources/**']" + } sourceSets { @@ -50,6 +52,7 @@ kotlin { implementation(libs.androidx.lifecycle.runtime.compose) implementation(libs.firebase.dynamicLinks) implementation(libs.youtubePlayer) + implementation(libs.ktor.android) } } val commonTest by getting { @@ -57,14 +60,7 @@ kotlin { implementation(kotlin("test")) } } - val iosX64Main by getting - val iosArm64Main by getting - val iosSimulatorArm64Main by getting - val iosMain by creating { - dependsOn(commonMain) - iosX64Main.dependsOn(this) - iosArm64Main.dependsOn(this) - iosSimulatorArm64Main.dependsOn(this) + val iosMain by getting { dependencies { implementation(libs.ktor.ios) } @@ -84,12 +80,12 @@ android { } compileOptions { - sourceCompatibility = JavaVersion.VERSION_19 - targetCompatibility = JavaVersion.VERSION_19 + sourceCompatibility = JavaVersion.VERSION_21 + targetCompatibility = JavaVersion.VERSION_21 } kotlin { - jvmToolchain(19) + jvmToolchain(21) } } diff --git a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt index ea93823..46d081d 100644 --- a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt +++ b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt @@ -26,6 +26,8 @@ import android.content.Context import com.seiko.imageloader.ImageLoader import com.seiko.imageloader.cache.memory.maxSizePercent import com.seiko.imageloader.component.setupDefaultComponents +import io.ktor.client.HttpClient +import io.ktor.client.engine.android.Android import okio.Path.Companion.toOkioPath import org.koin.core.Koin @@ -35,12 +37,11 @@ actual fun generateImageLoader(koin: Koin): ImageLoader { components { setupDefaultComponents( context = context, - httpClient = { koin.get() }, + httpClient = { HttpClient(Android) }, ) } interceptor { memoryCacheConfig { - // Set the max size to 25% of the app's available memory. maxSizePercent(context, percent = 0.25) } diskCacheConfig { diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/ComposeApp.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/ComposeApp.kt index ba46996..6371307 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/ComposeApp.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/ComposeApp.kt @@ -25,7 +25,6 @@ package com.popalay.barnee.ui import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.MaterialTheme import androidx.compose.material.SnackbarHost import androidx.compose.material.SnackbarHostState @@ -41,7 +40,6 @@ import androidx.compose.ui.unit.dp import cafe.adriel.voyager.core.annotation.ExperimentalVoyagerApi import cafe.adriel.voyager.navigator.LocalNavigatorSaver import cafe.adriel.voyager.navigator.Navigator -import cafe.adriel.voyager.navigator.bottomSheet.BottomSheetNavigator import cafe.adriel.voyager.transitions.SlideTransition import com.moriatsushi.insetsx.navigationBarsPadding import com.popalay.barnee.data.message.Message @@ -50,6 +48,7 @@ import com.popalay.barnee.domain.navigation.Router import com.popalay.barnee.domain.navigation.StackChange import com.popalay.barnee.ui.common.PrimarySnackbar import com.popalay.barnee.ui.extensions.parcelableNavigatorSaver +import com.popalay.barnee.ui.navigation.AppBottomSheetNavigator import com.popalay.barnee.ui.navigation.NavigationHost import com.popalay.barnee.ui.platform.HandleDeeplink import com.popalay.barnee.ui.platform.LifecycleAwareLaunchedEffect @@ -62,7 +61,7 @@ import kotlinx.coroutines.cancelChildren import kotlinx.coroutines.launch import org.koin.compose.koinInject -@OptIn(ExperimentalMaterialApi::class, ExperimentalVoyagerApi::class, ExperimentalAnimationApi::class) +@OptIn(ExperimentalVoyagerApi::class, ExperimentalAnimationApi::class) @Composable fun ComposeApp() { BarneeTheme { @@ -74,7 +73,7 @@ fun ComposeApp() { CompositionLocalProvider(LocalImageLoader provides imageLoader) { Box(modifier = Modifier.fillMaxSize()) { val snackbarHostState = remember { SnackbarHostState() } - BottomSheetNavigator( + AppBottomSheetNavigator( sheetElevation = 1.dp, sheetBackgroundColor = MaterialTheme.colors.background, sheetContentColor = MaterialTheme.colors.onBackground, diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AsyncImage.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AsyncImage.kt index 9b87e76..fedfc78 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AsyncImage.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AsyncImage.kt @@ -23,8 +23,6 @@ package com.popalay.barnee.ui.common import androidx.compose.foundation.Image -import androidx.compose.foundation.layout.BoxWithConstraints -import androidx.compose.foundation.layout.BoxWithConstraintsScope import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.runtime.remember @@ -48,32 +46,22 @@ fun AsyncImage( alpha: Float = DefaultAlpha, colorFilter: ColorFilter? = null, ) { - BoxWithConstraints(modifier) { - Image( - painter = rememberImageUrlPainter(imageUrl), - contentDescription = contentDescription, - modifier = Modifier.fillMaxSize(), - alpha = alpha, - colorFilter = colorFilter, - alignment = alignment, - contentScale = contentScale - ) - } + Image( + painter = rememberImageUrlPainter(imageUrl), + contentDescription = contentDescription, + modifier = modifier.fillMaxSize(), + alpha = alpha, + colorFilter = colorFilter, + alignment = alignment, + contentScale = contentScale + ) } @Composable -private fun BoxWithConstraintsScope.rememberImageUrlPainter(data: ImageUrl): Painter { - val request = remember(data, constraints) { +private fun rememberImageUrlPainter(data: ImageUrl): Painter { + val request = remember(data) { ImageRequest { - data(data.scaledUrl(constraints.maxWidth to constraints.maxHeight)) - - placeholderPainter { - rememberImagePainter(data.url) - } - - extra { - set("key_url", data.url) - } + data(data.url) } } return rememberImagePainter(request) diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/Navigation.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/Navigation.kt index 80f4c42..81334e8 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/Navigation.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/Navigation.kt @@ -37,9 +37,9 @@ internal fun parcelableNavigatorSaver(): NavigatorSaver = NavigatorSaver { val screenAsParcelables = navigator.items.filterIsInstance() if (navigator.items.size > screenAsParcelables.size) { - val screensNotParcelable = navigator.items.filterNot { screen -> screenAsParcelables.any { screen == it } } - .map { it::class.simpleName } - .joinToString() + val screensNotParcelable = + navigator.items.filterNot { screen -> screenAsParcelables.any { screen == it } } + .joinToString { it::class.simpleName.orEmpty() } throw IllegalStateException("Unable to save instance state for Screens: $screensNotParcelable. " + "Implement io.matthewnelson.component.parcelize.Parcelable on your Screen.") diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/AppBottomSheetNavigator.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/AppBottomSheetNavigator.kt new file mode 100644 index 0000000..4d7e8ec --- /dev/null +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/AppBottomSheetNavigator.kt @@ -0,0 +1,105 @@ +/* + * Copyright (c) 2025 Denys Nykyforov + * + * 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. + */ + +package com.popalay.barnee.ui.navigation + +import androidx.compose.foundation.layout.Spacer +import androidx.compose.foundation.layout.height +import androidx.compose.material.ExperimentalMaterialApi +import androidx.compose.material.MaterialTheme +import androidx.compose.material.ModalBottomSheetLayout +import androidx.compose.material.ModalBottomSheetState +import androidx.compose.material.ModalBottomSheetValue +import androidx.compose.material.rememberModalBottomSheetState +import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider +import androidx.compose.runtime.getValue +import androidx.compose.runtime.mutableStateOf +import androidx.compose.runtime.remember +import androidx.compose.runtime.rememberCoroutineScope +import androidx.compose.runtime.setValue +import androidx.compose.runtime.staticCompositionLocalOf +import androidx.compose.ui.Modifier +import androidx.compose.ui.unit.dp +import cafe.adriel.voyager.core.screen.Screen +import kotlinx.coroutines.launch + +val LocalAppBottomSheetNavigator = staticCompositionLocalOf { + error("No AppBottomSheetNavigator provided") +} + +@OptIn(ExperimentalMaterialApi::class) +class AppBottomSheetNavigator( + val sheetState: ModalBottomSheetState, + private val onShow: (Screen) -> Unit, + private val onHide: () -> Unit, +) { + val isVisible: Boolean get() = sheetState.isVisible + + fun show(screen: Screen) = onShow(screen) + fun hide() = onHide() +} + +@OptIn(ExperimentalMaterialApi::class) +@Composable +fun AppBottomSheetNavigator( + sheetElevation: androidx.compose.ui.unit.Dp = 1.dp, + sheetBackgroundColor: androidx.compose.ui.graphics.Color = MaterialTheme.colors.background, + sheetContentColor: androidx.compose.ui.graphics.Color = MaterialTheme.colors.onBackground, + scrimColor: androidx.compose.ui.graphics.Color = MaterialTheme.colors.background.copy(alpha = 0.7F), + content: @Composable (AppBottomSheetNavigator) -> Unit, +) { + val sheetState = rememberModalBottomSheetState( + initialValue = ModalBottomSheetValue.Hidden, + skipHalfExpanded = true, + ) + val scope = rememberCoroutineScope() + var currentScreen by remember { mutableStateOf(null) } + + val navigator = remember(sheetState) { + AppBottomSheetNavigator( + sheetState = sheetState, + onShow = { screen -> + currentScreen = screen + scope.launch { sheetState.show() } + }, + onHide = { + scope.launch { sheetState.hide() } + }, + ) + } + + ModalBottomSheetLayout( + sheetState = sheetState, + sheetElevation = sheetElevation, + sheetBackgroundColor = sheetBackgroundColor, + sheetContentColor = sheetContentColor, + scrimColor = scrimColor, + sheetContent = { + currentScreen?.Content() ?: Spacer(Modifier.height(1.dp)) + }, + ) { + CompositionLocalProvider(LocalAppBottomSheetNavigator provides navigator) { + content(navigator) + } + } +} diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/NavigationHost.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/NavigationHost.kt index ae6ff55..d07445e 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/NavigationHost.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/NavigationHost.kt @@ -25,7 +25,6 @@ package com.popalay.barnee.ui.navigation import androidx.compose.runtime.Composable import cafe.adriel.voyager.core.registry.ScreenRegistry import cafe.adriel.voyager.navigator.Navigator -import cafe.adriel.voyager.navigator.bottomSheet.BottomSheetNavigator import com.popalay.barnee.domain.navigation.Router import com.popalay.barnee.domain.navigation.StackChange import com.popalay.barnee.domain.navigation.TypedScreenProvider @@ -35,7 +34,7 @@ import org.koin.compose.koinInject @Composable fun NavigationHost( navigator: Navigator, - bottomSheetNavigator: BottomSheetNavigator, + bottomSheetNavigator: AppBottomSheetNavigator, ) { val changeStackFlow = koinInject().stackChangeFlow @@ -51,7 +50,7 @@ fun NavigationHost( private fun push( navigator: Navigator, - bottomSheetNavigator: BottomSheetNavigator, + bottomSheetNavigator: AppBottomSheetNavigator, destinations: List ) { if (bottomSheetNavigator.isVisible) { @@ -60,11 +59,12 @@ private fun push( val (fullScreens, bottomSheets) = destinations.partition { it.type == TypedScreenProvider.Type.FullScreen } navigator.push(fullScreens.map(ScreenRegistry::get)) - bottomSheets.firstOrNull()?.let { bottomSheetNavigator.show(ScreenRegistry.get(it)) }} + bottomSheets.firstOrNull()?.let { bottomSheetNavigator.show(ScreenRegistry.get(it)) } +} private fun replace( navigator: Navigator, - bottomSheetNavigator: BottomSheetNavigator, + bottomSheetNavigator: AppBottomSheetNavigator, destination: TypedScreenProvider ) { when (destination.type) { @@ -83,7 +83,7 @@ private fun replace( private fun replaceAll( navigator: Navigator, - bottomSheetNavigator: BottomSheetNavigator, + bottomSheetNavigator: AppBottomSheetNavigator, destinations: List ) { if (bottomSheetNavigator.isVisible) { @@ -97,7 +97,7 @@ private fun replaceAll( private fun pop( navigator: Navigator, - bottomSheetNavigator: BottomSheetNavigator, + bottomSheetNavigator: AppBottomSheetNavigator, ) { if (bottomSheetNavigator.isVisible) { bottomSheetNavigator.hide() From 2229460704d04f06cfa98ebd9f79f4683a219148 Mon Sep 17 00:00:00 2001 From: Denis Nykyforov Date: Sat, 14 Mar 2026 18:50:55 +0200 Subject: [PATCH 3/5] Replace AbsolutDrinks API with bundled TheCocktailDB dataset - Bundle cocktails.json (426 drinks) as an Android asset and commonMain resource - Add LocalDrinkDataSource backed by the bundled JSON, replacing the remote Api client - Add CocktailDbDrink DTO and CocktailDbMapper to convert to domain Drink model - Add expect/actual ResourceReader for reading bundled assets on Android and iOS - Update DrinkRepository and CollectionRepository to use LocalDrinkDataSource - Remove deprecated Api.kt remote client and DrinksResponse/DrinkListFirstElementTransformer - Add scripts/download_cocktails.py for re-fetching and preprocessing the dataset Made-with: Cursor --- scripts/download_cocktails.py | 136 + shared/src/androidMain/assets/cocktails.json | 13723 ++++++++++++++++ .../popalay/barnee/util/ResourceReader.kt} | 14 +- .../barnee/data/local/LocalDrinkDataSource.kt | 171 + .../popalay/barnee/data/model/Aggregation.kt | 10 - .../barnee/data/model/FullDrinkResponse.kt | 30 +- .../com/popalay/barnee/data/remote/Api.kt | 70 - .../barnee/data/remote/CocktailDbMapper.kt | 47 + .../data/remote/model/CocktailDbDrink.kt | 41 + .../data/repository/CollectionRepository.kt | 6 +- .../barnee/data/repository/DrinkRepository.kt | 67 +- .../kotlin/com/popalay/barnee/di/Koin.kt | 4 +- .../ResourceReader.kt} | 9 +- .../src/commonMain/resources/cocktails.json | 13723 ++++++++++++++++ .../com/popalay/barnee/util/ResourceReader.kt | 39 + 15 files changed, 27943 insertions(+), 147 deletions(-) create mode 100644 scripts/download_cocktails.py create mode 100644 shared/src/androidMain/assets/cocktails.json rename shared/src/{commonMain/kotlin/com/popalay/barnee/data/transformer/DrinkListFirstElementTransformer.kt => androidMain/kotlin/com/popalay/barnee/util/ResourceReader.kt} (70%) create mode 100644 shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalDrinkDataSource.kt delete mode 100644 shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/Api.kt create mode 100644 shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CocktailDbMapper.kt create mode 100644 shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/model/CocktailDbDrink.kt rename shared/src/commonMain/kotlin/com/popalay/barnee/{data/model/DrinksResponse.kt => util/ResourceReader.kt} (88%) create mode 100644 shared/src/commonMain/resources/cocktails.json create mode 100644 shared/src/iosMain/kotlin/com/popalay/barnee/util/ResourceReader.kt diff --git a/scripts/download_cocktails.py b/scripts/download_cocktails.py new file mode 100644 index 0000000..aa779d1 --- /dev/null +++ b/scripts/download_cocktails.py @@ -0,0 +1,136 @@ +#!/usr/bin/env python3 +""" +Downloads the full TheCocktailDB dataset (free dev key "1") and pre-processes +it into a clean, lean JSON format used by the Barnee app. + +Fields kept: + id, alias, name, imageUrl, ingredients, steps, categories, tags, ibaCategory + +Fields dropped (not used by the app): + - strInstructionsES/DE/FR/IT/ZH-HANS/ZH-HANT (non-English instructions) + - strDrinkAlternate (alternate name, unused) + - strVideo (always null in free dataset) + - strCreativeCommonsConfirmed, strImageAttribution, strImageSource, dateModified + - raw strIngredient1..15 / strMeasure1..15 (replaced by ingredients list) + - raw strTags string (replaced by tags list) + +Run: + python3 scripts/download_cocktails.py + +Output: + shared/src/commonMain/resources/cocktails.json +""" + +import json +import re +import time +import urllib.request +from pathlib import Path + +OUTPUT = Path(__file__).parent.parent / "shared/src/commonMain/resources/cocktails.json" +API_BASE = "https://www.thecocktaildb.com/api/json/v1/1/search.php?f=" + + +def slugify(name: str) -> str: + return re.sub(r"-{2,}", "-", re.sub(r"[^a-z0-9-]", "", name.lower().replace(" ", "-"))).strip("-") + + +def get_ingredients(drink: dict) -> list[dict]: + result = [] + for i in range(1, 16): + ingredient = (drink.get(f"strIngredient{i}") or "").strip() + measure = (drink.get(f"strMeasure{i}") or "").strip() + if not ingredient: + break + text = f"{measure} {ingredient}".strip() if measure else ingredient + result.append({"text": text}) + return result + + +def get_steps(instructions: str | None) -> list[str]: + if not instructions: + return [] + # Split on sentence boundaries, keep meaningful steps + raw = re.split(r"(?<=[.!?])\s+", instructions.strip()) + return [s.rstrip(".").strip() for s in raw if s.strip()] + + +def fetch_all_drinks() -> list[dict]: + all_drinks: list[dict] = [] + seen_ids: set[str] = set() + + for letter in "abcdefghijklmnopqrstuvwxyz": + url = f"{API_BASE}{letter}" + try: + with urllib.request.urlopen(url, timeout=10) as resp: + data = json.loads(resp.read()) + drinks = data.get("drinks") or [] + for d in drinks: + if d["idDrink"] not in seen_ids: + seen_ids.add(d["idDrink"]) + all_drinks.append(d) + print(f" {letter}: {len(drinks)} drinks") + except Exception as e: + print(f" {letter}: error — {e}") + time.sleep(0.25) + + return all_drinks + + +def process_drinks(raw_drinks: list[dict]) -> list[dict]: + seen_aliases: dict[str, str] = {} # alias -> idDrink + result = [] + + for d in raw_drinks: + drink_id = d["idDrink"] + name = d.get("strDrink") or "" + base_alias = slugify(name) + + # Resolve duplicate aliases by appending the drink id + if base_alias in seen_aliases and seen_aliases[base_alias] != drink_id: + alias = f"{base_alias}-{drink_id}" + else: + alias = base_alias + seen_aliases[alias] = drink_id + + categories = [] + for field in ("strCategory", "strGlass", "strAlcoholic"): + val = (d.get(field) or "").strip() + if val: + categories.append(val) + + tags = [t.strip() for t in (d.get("strTags") or "").split(",") if t.strip()] + + result.append({ + "id": drink_id, + "alias": alias, + "name": name, + "imageUrl": d.get("strDrinkThumb") or None, + "ingredients": get_ingredients(d), + "steps": get_steps(d.get("strInstructions")), + "categories": categories, + "tags": tags, + "ibaCategory": (d.get("strIBA") or "").strip() or None, + }) + + return result + + +def main(): + print("Fetching drinks from TheCocktailDB...") + raw = fetch_all_drinks() + print(f"Downloaded {len(raw)} drinks total") + + print("Processing...") + clean = process_drinks(raw) + + OUTPUT.parent.mkdir(parents=True, exist_ok=True) + with open(OUTPUT, "w", encoding="utf-8") as f: + json.dump(clean, f, indent=2, ensure_ascii=False) + + size_kb = OUTPUT.stat().st_size // 1024 + print(f"Written {len(clean)} drinks to {OUTPUT} ({size_kb} KB)") + + +if __name__ == "__main__": + main() diff --git a/shared/src/androidMain/assets/cocktails.json b/shared/src/androidMain/assets/cocktails.json new file mode 100644 index 0000000..c5f033c --- /dev/null +++ b/shared/src/androidMain/assets/cocktails.json @@ -0,0 +1,13723 @@ +[ + { + "id": "17222", + "alias": "a1", + "name": "A1", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2x8thr1504816928.jpg", + "ingredients": [ + { + "text": "1 3/4 shot Gin" + }, + { + "text": "1 Shot Grand Marnier" + }, + { + "text": "1/4 Shot Lemon Juice" + }, + { + "text": "1/8 Shot Grenadine" + } + ], + "steps": [ + "Pour all ingredients into a cocktail shaker, mix and serve over ice into a chilled glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13501", + "alias": "abc", + "name": "ABC", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tqpvqp1472668328.jpg", + "ingredients": [ + { + "text": "1/3 Amaretto" + }, + { + "text": "1/3 Baileys irish cream" + }, + { + "text": "1/3 Cognac" + } + ], + "steps": [ + "Layered in a shot glass" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17225", + "alias": "ace", + "name": "Ace", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/l3cd7f1504818306.jpg", + "ingredients": [ + { + "text": "2 shots Gin" + }, + { + "text": "1/2 shot Grenadine" + }, + { + "text": "1/2 shot Heavy cream" + }, + { + "text": "1/2 shot Milk" + }, + { + "text": "1/2 Fresh Egg White" + } + ], + "steps": [ + "Shake all the ingredients in a cocktail shaker and ice then strain in a cold glass" + ], + "categories": [ + "Cocktail", + "Martini Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14610", + "alias": "acid", + "name": "ACID", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xuxpxt1479209317.jpg", + "ingredients": [ + { + "text": "1 oz Bacardi 151 proof rum" + }, + { + "text": "1 oz Wild Turkey" + } + ], + "steps": [ + "Poor in the 151 first followed by the 101 served with a Coke or Dr Pepper chaser" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13938", + "alias": "att", + "name": "AT&T", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rhhwmp1493067619.jpg", + "ingredients": [ + { + "text": "1 oz Absolut Vodka" + }, + { + "text": "1 oz Gin" + }, + { + "text": "4 oz Tonic water" + } + ], + "steps": [ + "Pour Vodka and Gin over ice, add Tonic and Stir" + ], + "categories": [ + "Ordinary Drink", + "Highball Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17837", + "alias": "adam", + "name": "Adam", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/v0at4i1582478473.jpg", + "ingredients": [ + { + "text": "2 oz Dark rum" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1 tsp Grenadine" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Alcoholic", + "Holiday" + ], + "ibaCategory": null + }, + { + "id": "17833", + "alias": "a-j", + "name": "A. J.", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/l74qo91582480316.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Applejack" + }, + { + "text": "1 oz Grapefruit juice" + } + ], + "steps": [ + "Shake ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17839", + "alias": "affair", + "name": "Affair", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/h5za6y1582477994.jpg", + "ingredients": [ + { + "text": "2 oz Strawberry schnapps" + }, + { + "text": "2 oz Orange juice" + }, + { + "text": "2 oz Cranberry juice" + }, + { + "text": "Club soda" + } + ], + "steps": [ + "Pour schnapps, orange juice, and cranberry juice over ice in a highball glass", + "Top with club soda and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15266", + "alias": "avalon", + "name": "Avalon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3k9qic1493068931.jpg", + "ingredients": [ + { + "text": "3 parts Vodka" + }, + { + "text": "1 part Pisang Ambon" + }, + { + "text": "6 parts Apple juice" + }, + { + "text": "1 1/2 part Lemon juice" + }, + { + "text": "Lemonade" + } + ], + "steps": [ + "Fill a tall glass with ice", + "Layer the Finlandia Vodka, lemon and apple juices, Pisang Ambon, and top up with lemonade", + "Stir slightly and garnish with a spiralled cucumber skin and a red cherry", + "The cucumber provides zest and looks attractive", + "This drink, created by Timo Haimi, took first prize in the 1991 Finlandia Vodka Long Drink Competition" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15106", + "alias": "apello", + "name": "Apello", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uptxtv1468876415.jpg", + "ingredients": [ + { + "text": "4 cl Orange juice" + }, + { + "text": "3 cl Grapefruit juice" + }, + { + "text": "1 cl Apple juice" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "Stirr", + "Grnish with maraschino cherry" + ], + "categories": [ + "Other / Unknown", + "Collins Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11023", + "alias": "almeria", + "name": "Almeria", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rwsyyu1483388181.jpg", + "ingredients": [ + { + "text": "2 oz Dark rum" + }, + { + "text": "1 oz Kahlua" + }, + { + "text": "1 Egg white" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17835", + "alias": "abilene", + "name": "Abilene", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/smb2oe1582479072.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dark rum" + }, + { + "text": "2 oz Peach nectar" + }, + { + "text": "3 oz Orange juice" + } + ], + "steps": [ + "Pour all of the ingredients into a highball glass almost filled with ice cubes", + "Stir well" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17228", + "alias": "addison", + "name": "Addison", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yzva7x1504820300.jpg", + "ingredients": [ + { + "text": "1 1/2 shot Gin" + }, + { + "text": "1 1/2 shot Vermouth" + } + ], + "steps": [ + "Shake together all the ingredients and strain into a cold glass" + ], + "categories": [ + "Cocktail", + "Martini Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17180", + "alias": "aviation", + "name": "Aviation", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/trbplb1606855233.jpg", + "ingredients": [ + { + "text": "4.5 cl Gin" + }, + { + "text": "1.5 cl lemon juice" + }, + { + "text": "1.5 cl maraschino liqueur" + } + ], + "steps": [ + "Add all ingredients into cocktail shaker filled with ice", + "Shake well and strain into cocktail glass", + "Garnish with a cherry" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11046", + "alias": "applecar", + "name": "Applecar", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sbffau1504389764.jpg", + "ingredients": [ + { + "text": "1 oz Applejack" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 oz Lemon juice" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17840", + "alias": "affinity", + "name": "Affinity", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wzdtnn1582477684.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1 oz Dry Vermouth" + }, + { + "text": "2 dashes Orange bitters" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine all of the ingredients", + "Stir well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17836", + "alias": "acapulco", + "name": "Acapulco", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/il9e0r1582478841.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "1 1/2 tsp Triple sec" + }, + { + "text": "1 tblsp Lime juice" + }, + { + "text": "1 tsp Sugar" + }, + { + "text": "1 Egg white" + }, + { + "text": "1 Mint" + } + ], + "steps": [ + "Combine and shake all ingredients (except mint) with ice and strain into an old-fashioned glass over ice cubes", + "Add the sprig of mint and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11014", + "alias": "alexander", + "name": "Alexander", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0clus51606772388.jpg", + "ingredients": [ + { + "text": "1/2 oz Gin" + }, + { + "text": "1/2 oz white Creme de Cacao" + }, + { + "text": "2 oz Light cream" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Shake all ingredients with ice and strain contents into a cocktail glass", + "Sprinkle nutmeg on top and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Dairy" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "16419", + "alias": "avalanche", + "name": "Avalanche", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uppqty1472720165.jpg", + "ingredients": [ + { + "text": "1 shot Crown Royal" + }, + { + "text": "1 shot Kahlua" + }, + { + "text": "Fill with Cream" + } + ], + "steps": [ + "Mix in highball glass over ice, shake well" + ], + "categories": [ + "Shake", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11021", + "alias": "allegheny", + "name": "Allegheny", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uwvyts1483387934.jpg", + "ingredients": [ + { + "text": "1 oz Dry Vermouth" + }, + { + "text": "1 oz Bourbon" + }, + { + "text": "1 1/2 tsp Blackberry brandy" + }, + { + "text": "1 1/2 tsp Lemon juice" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Shake all ingredients (except lemon peel) with ice and strain into a cocktail glass", + "Top with the twist of lemon peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15941", + "alias": "americano", + "name": "Americano", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/709s6m1613655124.jpg", + "ingredients": [ + { + "text": "1 oz Campari" + }, + { + "text": "1 oz red Sweet Vermouth" + }, + { + "text": "Twist of Lemon peel" + }, + { + "text": "Twist of Orange peel" + } + ], + "steps": [ + "Pour the Campari and vermouth over ice into glass, add a splash of soda water and garnish with half orange slice" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11020", + "alias": "algonquin", + "name": "Algonquin", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uwryxx1483387873.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Blended whiskey" + }, + { + "text": "1 oz Dry Vermouth" + }, + { + "text": "1 oz Pineapple juice" + } + ], + "steps": [ + "Combine and shake all ingredients with ice, strain contents into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11055", + "alias": "artillery", + "name": "Artillery", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/g1vnbe1493067747.jpg", + "ingredients": [ + { + "text": "1 1/2 tsp Sweet Vermouth" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "2 dashes Bitters" + } + ], + "steps": [ + "Stir all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12560", + "alias": "afterglow", + "name": "Afterglow", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vuquyv1468876052.jpg", + "ingredients": [ + { + "text": "1 part Grenadine" + }, + { + "text": "4 parts Orange juice" + }, + { + "text": "4 parts Pineapple juice" + } + ], + "steps": [ + "Mix", + "Serve over ice" + ], + "categories": [ + "Cocktail", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17227", + "alias": "addington", + "name": "Addington", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ib0b7g1504818925.jpg", + "ingredients": [ + { + "text": "2 shots Sweet Vermouth" + }, + { + "text": "1 shot Dry Vermouth" + }, + { + "text": "Top up with Soda Water" + } + ], + "steps": [ + "Mix both the vermouth's in a shaker and strain into a cold glass", + "Top up with a squirt of Soda Water" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15853", + "alias": "b-52", + "name": "B-52", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5a3vg61504372070.jpg", + "ingredients": [ + { + "text": "1/3 Baileys irish cream" + }, + { + "text": "1/3 Grand Marnier" + }, + { + "text": "1/4 Kahlua" + } + ], + "steps": [ + "Layer ingredients into a shot glass", + "Serve with a stirrer" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "13332", + "alias": "b-53", + "name": "B-53", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rwqxrv1461866023.jpg", + "ingredients": [ + { + "text": "1/3 shot Kahlua" + }, + { + "text": "1/3 shot Sambuca" + }, + { + "text": "1/3 shot Grand Marnier" + } + ], + "steps": [ + "Layer the Kahlua, Sambucca and Grand Marnier into a shot glas in that order", + "Better than B-52" + ], + "categories": [ + "Shot", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17254", + "alias": "bijou", + "name": "Bijou", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rysb3r1513706985.jpg", + "ingredients": [ + { + "text": "1 dash Orange Bitters" + }, + { + "text": "1 oz Green Chartreuse" + }, + { + "text": "1 oz Gin" + }, + { + "text": "1 oz Sweet Vermouth" + } + ], + "steps": [ + "Stir in mixing glass with ice and strain" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11149", + "alias": "boxcar", + "name": "Boxcar", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pwgtpa1504366376.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 tsp Lemon juice" + }, + { + "text": "1/2 tsp Grenadine" + }, + { + "text": "1 Egg white" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a sour glass" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13222", + "alias": "big-red", + "name": "Big Red", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yqwuwu1441248116.jpg", + "ingredients": [ + { + "text": "1/2 oz Irish cream" + }, + { + "text": "1/2 oz Goldschlager" + } + ], + "steps": [ + "Pour ingredients into 1 ounce shot glass" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17195", + "alias": "bellini", + "name": "Bellini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/eaag491504367543.jpg", + "ingredients": [ + { + "text": "6 oz Champagne" + }, + { + "text": "1 oz Peach schnapps" + } + ], + "steps": [ + "Pour peach purée into chilled flute, add sparkling wine", + "Stir gently" + ], + "categories": [ + "Ordinary Drink", + "Champagne Flute", + "Alcoholic" + ], + "tags": [ + "ContemporaryClassic", + "IBA" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "17210", + "alias": "bramble", + "name": "Bramble", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/twtbh51630406392.jpg", + "ingredients": [ + { + "text": "4 cl Gin" + }, + { + "text": "1.5 cl lemon juice" + }, + { + "text": "1 cl Sugar syrup" + }, + { + "text": "1.5 cl Creme de Mure" + } + ], + "steps": [ + "Fill glass with crushed ice", + "Build gin, lemon juice and simple syrup over", + "Stir, and then pour blackberry liqueur over in a circular fashion to create marbling effect", + "Garnish with two blackberries and lemon slice" + ], + "categories": [ + "Ordinary Drink", + "Old-Fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "11060", + "alias": "balmoral", + "name": "Balmoral", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vysuyq1441206297.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "1/2 oz Sweet Vermouth" + }, + { + "text": "1/2 oz Dry Vermouth" + }, + { + "text": "2 dashes Bitters" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine all of the ingredients", + "Stir well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11120", + "alias": "bluebird", + "name": "Bluebird", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5jhyd01582579843.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1/2 oz Blue Curacao" + }, + { + "text": "2 dashes Bitters" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "In a mixing glass half-filled with crushed ice, combine the gin, triple sec, Curacao, and bitters", + "Stir well", + "Strain into a cocktail glass and garnish with the lemon twist and the cherry" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178310", + "alias": "brooklyn", + "name": "Brooklyn", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ojsezf1582477277.jpg", + "ingredients": [ + { + "text": "2 oz Rye Whiskey" + }, + { + "text": "1 oz Dry Vermouth" + }, + { + "text": "1/4 oz Maraschino Liqueur" + }, + { + "text": "3 dashes Angostura Bitters" + }, + { + "text": "1 Maraschino Cherry" + } + ], + "steps": [ + "Combine ingredients with ice and stir until well-chilled", + "Strain into a chilled cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Alcoholic", + "Sweet", + "DateNight", + "USA" + ], + "ibaCategory": null + }, + { + "id": "12572", + "alias": "bora-bora", + "name": "Bora Bora", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xwuqvw1473201811.jpg", + "ingredients": [ + { + "text": "10 cl Pineapple juice" + }, + { + "text": "6 cl Passion fruit juice" + }, + { + "text": "1 cl Lemon juice" + }, + { + "text": "1 cl Grenadine" + } + ], + "steps": [ + "Prepare in a blender or shaker, serve in a highball glass on the rocks", + "Garnish with 1 slice of pineapple and one cherry" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11124", + "alias": "boomerang", + "name": "Boomerang", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3m6yz81504389551.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1/2 oz Dry Vermouth" + }, + { + "text": "2 dashes Bitters" + }, + { + "text": "1/2 tsp Maraschino liqueur" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine the gin, vermouth, bitters, and maraschino liqueur", + "Stir well", + "Strain into a cocktail glass and garnish with the cherry" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17209", + "alias": "barracuda", + "name": "Barracuda", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jwmr1x1504372337.jpg", + "ingredients": [ + { + "text": "4.5 cl Rum" + }, + { + "text": "1.5 cl Galliano" + }, + { + "text": "6 cl Pineapple Juice" + }, + { + "text": "1 dash Lime Juice" + }, + { + "text": "top up Prosecco" + } + ], + "steps": [ + "Shake pour ingredients with ice", + "Strain into glass, top with Sparkling wine" + ], + "categories": [ + "Ordinary Drink", + "Margarita glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "17825", + "alias": "brigadier", + "name": "Brigadier", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/nl89tf1518947401.jpg", + "ingredients": [ + { + "text": "4 oz Hot Chocolate" + }, + { + "text": "1 oz Green Chartreuse" + }, + { + "text": "1 oz Cherry Heering" + } + ], + "steps": [ + "Mix ingredients in a warmed mug and stir" + ], + "categories": [ + "Cocktail", + "Coupe Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178311", + "alias": "broadside", + "name": "Broadside", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/l2o6xu1582476870.jpg", + "ingredients": [ + { + "text": "1 shot 151 proof rum" + }, + { + "text": "1/2 shot Scotch" + }, + { + "text": "3 drops Bitters" + }, + { + "text": "1 Fresh Wormwood" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Half fill the glass with ice cubes", + "Crush the wormwood and add to ice", + "Pour rum, scotch and butters, then serve!" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17035", + "alias": "buccaneer", + "name": "Buccaneer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/upvtyt1441249023.jpg", + "ingredients": [ + { + "text": "1 Corona" + }, + { + "text": "1 shot Bacardi Limon" + } + ], + "steps": [ + "Pour the corona into an 18oz beer glass pour the bacardi limon into the beer stir very gently" + ], + "categories": [ + "Beer", + "Beer pilsner", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17120", + "alias": "brain-fart", + "name": "Brain Fart", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rz5aun1504389701.jpg", + "ingredients": [ + { + "text": "1 fifth Everclear" + }, + { + "text": "1 fifth Smirnoff red label Vodka" + }, + { + "text": "2 L Mountain Dew" + }, + { + "text": "2 L Surge" + }, + { + "text": "1 small bottle Lemon juice" + }, + { + "text": "1 pint Rum" + } + ], + "steps": [ + "Mix all ingredients together", + "Slowly and gently", + "Works best if ice is added to punch bowl and soda's are very cold" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11106", + "alias": "blackthorn", + "name": "Blackthorn", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/dgj92f1616098672.jpg", + "ingredients": [ + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1 1/2 oz Sloe gin" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Stir sloe gin and vermouth with ice and strain into a cocktail glass", + "Add the twist of lemon peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13395", + "alias": "bob-marley", + "name": "Bob Marley", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rrqrst1477140664.jpg", + "ingredients": [ + { + "text": "1/2 oz Midori melon liqueur" + }, + { + "text": "1/2 oz Jägermeister" + }, + { + "text": "1/2 oz Goldschlager" + } + ], + "steps": [ + "Layer in a 2 oz shot glass or pony glass" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16986", + "alias": "bible-belt", + "name": "Bible Belt", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6bec6v1503563675.jpg", + "ingredients": [ + { + "text": "2 oz Southern Comfort" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "2 wedges Lime" + }, + { + "text": "2 oz Sour mix" + } + ], + "steps": [ + "Mix all ingredients, and pour over ice" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14730", + "alias": "bubble-gum", + "name": "Bubble Gum", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/spuurv1468878783.jpg", + "ingredients": [ + { + "text": "1/4 Vodka" + }, + { + "text": "1/4 Banana liqueur" + }, + { + "text": "1/4 Orange juice" + }, + { + "text": "1/4 Peach schnapps" + } + ], + "steps": [ + "Layer in order into a shot glass" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14538", + "alias": "bumble-bee", + "name": "Bumble Bee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uwqpvv1461866378.jpg", + "ingredients": [ + { + "text": "1/3 oz Baileys irish cream" + }, + { + "text": "1/3 oz Kahlua" + }, + { + "text": "1/3 oz Sambuca" + } + ], + "steps": [ + "This is a layered shot", + "First pour the Bailey's into the shot glass", + "Then take an upside down spoon and touch it to the inside wall of the glass", + "Carefully add the Kahlua", + "Repeat this process for the Sambuca", + "If done properly, the alcohol will stay separated and resemble a bumble bee", + "Enjoy!!!" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15511", + "alias": "baby-eskimo", + "name": "Baby Eskimo", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wywrtw1472720227.jpg", + "ingredients": [ + { + "text": "2 oz Kahlua" + }, + { + "text": "8 oz Milk" + }, + { + "text": "2 scoops Vanilla ice-cream" + } + ], + "steps": [ + "Leave ice-cream out for about 10 minutes", + "Add ingredients in order, stir with chopstick (butter knife or spoon works too)", + "Consume immediately and often", + "Nice and light, great for following a heavy drink" + ], + "categories": [ + "Shake", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11129", + "alias": "boston-sour", + "name": "Boston Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kxlgbi1504366100.jpg", + "ingredients": [ + { + "text": "2 oz Blended whiskey" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 Egg white" + }, + { + "text": "1 slice Lemon" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Shake juice of lemon, powdered sugar, blended whiskey, and egg white with cracked ice and strain into a whiskey sour glass", + "Add the slice of lemon, top with the cherry, and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17267", + "alias": "bahama-mama", + "name": "Bahama Mama", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tyb4a41515793339.jpg", + "ingredients": [ + { + "text": "3 parts Rum" + }, + { + "text": "1 part Dark Rum" + }, + { + "text": "1 part Banana liqueur" + }, + { + "text": "1 part Grenadine" + }, + { + "text": "2 parts Pineapple Juice" + }, + { + "text": "2 parts Orange Juice" + }, + { + "text": "1 part Sweet and Sour" + } + ], + "steps": [ + "Add 2 parts club soda or more or less to taste", + "Mix it all together and pour over a bunch of ice", + "Drink with a straw" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17185", + "alias": "casino", + "name": "Casino", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/1mvjxg1504348579.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1/4 tsp Maraschino liqueur" + }, + { + "text": "1/4 tsp Lemon juice" + }, + { + "text": "2 dashes Orange bitters" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Pour all ingredients into shaker with ice cubes", + "Shake well", + "Strain into chilled cocktail glass", + "Garnish with a lemon twist and a maraschino cherry", + "Serve without a straw" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "14181", + "alias": "cafe-savoy", + "name": "Cafe Savoy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vqwptt1441247711.jpg", + "ingredients": [ + { + "text": "Coffee" + }, + { + "text": "1/2 oz Milk" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "Brandy" + } + ], + "steps": [ + "Fill mug almost to top with coffee.Add milk, triple sec and brandy", + "Stir" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11202", + "alias": "caipirinha", + "name": "Caipirinha", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jgvn7p1582484435.jpg", + "ingredients": [ + { + "text": "2 tsp Sugar" + }, + { + "text": "1 Lime" + }, + { + "text": "2 1/2 oz Cachaca" + } + ], + "steps": [ + "Place lime and sugar into old fashioned glass and muddle (mash the two ingredients together using a muddler or a wooden spoon)", + "Fill the glass with ice and add the Cachaça" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "ContemporaryClassic", + "IBA" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "14608", + "alias": "cream-soda", + "name": "Cream Soda", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yqstxr1479209367.jpg", + "ingredients": [ + { + "text": "1 oz Spiced rum" + }, + { + "text": "Ginger ale" + } + ], + "steps": [ + "Pour 1oz of Spiced Rum into a highball glass with ice", + "Fill with Ginger Ale" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13751", + "alias": "cuba-libra", + "name": "Cuba Libra", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ck6d0p1504388696.jpg", + "ingredients": [ + { + "text": "1-2 shot Dark rum" + }, + { + "text": "Squeeze Lime" + }, + { + "text": "Fill with Coca-Cola" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Fill tall glass with ice cubes", + "Add rum", + "Rub cut edge of lime on rim of glass then squeeze juice into glass", + "Fill with Coca-Cola", + "Garnish with lime slice", + "Enjoy!" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11239", + "alias": "cherry-rum", + "name": "Cherry Rum", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/twsuvr1441554424.jpg", + "ingredients": [ + { + "text": "1 1/4 oz Light rum" + }, + { + "text": "1 1/2 tsp Cherry brandy" + }, + { + "text": "1 tblsp Light cream" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11288", + "alias": "cuba-libre", + "name": "Cuba Libre", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wmkbfj1606853905.jpg", + "ingredients": [ + { + "text": "2 oz Light rum" + }, + { + "text": "Juice of 1/2 Lime" + }, + { + "text": "Coca-Cola" + } + ], + "steps": [ + "Build all ingredients in a Collins glass filled with ice", + "Garnish with lime wedge" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "17830", + "alias": "corn-n-oil", + "name": "Corn n Oil", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pk6dwi1592767243.jpg", + "ingredients": [ + { + "text": "1/2 Lime" + }, + { + "text": "1/3 oz Falernum" + }, + { + "text": "2 dashes Angostura Bitters" + }, + { + "text": "1 oz Añejo rum" + }, + { + "text": "1 oz blackstrap rum" + } + ], + "steps": [ + "Cut the half lime in half again", + "Add the lime, falernum, and bitters to a rocks glass", + "Muddle", + "Add the rum", + "(Aged Barbados rum such as Plantation 5 Year is recommended)", + "Add ice and stir", + "Float the blackstrap rum on top", + "Serve with a straw" + ], + "categories": [ + "Cocktail", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17135", + "alias": "citrus-coke", + "name": "Citrus Coke", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uyrvut1479473214.jpg", + "ingredients": [ + { + "text": "1 part Bacardi Limon" + }, + { + "text": "2 parts Coca-Cola" + } + ], + "steps": [ + "Pour half of coke in a glass", + "Then add Bacardi and top it off with the remaining coke", + "Stir and drink up!" + ], + "categories": [ + "Soft Drink", + "Highball Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11222", + "alias": "casa-blanca", + "name": "Casa Blanca", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/usspxq1441553762.jpg", + "ingredients": [ + { + "text": "2 oz Light rum" + }, + { + "text": "1 1/2 tsp Triple sec" + }, + { + "text": "1 1/2 tsp Lime juice" + }, + { + "text": "1 1/2 tsp Maraschino liqueur" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17186", + "alias": "clover-club", + "name": "Clover Club", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/t0aja61504348715.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "2 tsp Grenadine" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 Egg white" + } + ], + "steps": [ + "Dry shake ingredients to emulsify, add ice, shake and served straight up" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "13206", + "alias": "caipirissima", + "name": "Caipirissima", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yd47111503565515.jpg", + "ingredients": [ + { + "text": "2 Lime" + }, + { + "text": "2 tblsp Sugar" + }, + { + "text": "2-3 oz White rum" + }, + { + "text": "crushed Ice" + } + ], + "steps": [ + "Same as Caipirinha but instead of cachaca you add WHITE RUM", + "It's great!!!!!!!!" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11251", + "alias": "city-slicker", + "name": "City Slicker", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/dazdlg1504366949.jpg", + "ingredients": [ + { + "text": "2 oz Brandy" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1 tblsp Lemon juice" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16047", + "alias": "campari-beer", + "name": "Campari Beer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xsqrup1441249130.jpg", + "ingredients": [ + { + "text": "1 bottle Lager" + }, + { + "text": "1 1/2 cl Campari" + } + ], + "steps": [ + "Use a 15 oz glass", + "Add Campari first", + "Fill with beer" + ], + "categories": [ + "Beer", + "Beer mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11242", + "alias": "chicago-fizz", + "name": "Chicago Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qwvwqr1441207763.jpg", + "ingredients": [ + { + "text": "1 oz Light rum" + }, + { + "text": "1 oz Port" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 Egg white" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients (except carbonated water) with ice and strain into a highball glass over two ice cubes", + "Fill with carbonated water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17196", + "alias": "cosmopolitan", + "name": "Cosmopolitan", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kpsajh1504368362.jpg", + "ingredients": [ + { + "text": "1 1/4 oz Vodka" + }, + { + "text": "1/4 oz Lime juice" + }, + { + "text": "1/4 oz Cointreau" + }, + { + "text": "1/4 cup Cranberry juice" + } + ], + "steps": [ + "Add all ingredients into cocktail shaker filled with ice", + "Shake well and double strain into large cocktail glass", + "Garnish with lime wheel" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "12800", + "alias": "coffee-vodka", + "name": "Coffee-Vodka", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qvrrvu1472667494.jpg", + "ingredients": [ + { + "text": "2 cups Water" + }, + { + "text": "2 cups white Sugar" + }, + { + "text": "1/2 cup instant Coffee" + }, + { + "text": "1/2 Vanilla" + }, + { + "text": "1 1/2 cup Vodka" + }, + { + "text": "Caramel coloring" + } + ], + "steps": [ + "Boil water and sugar until dissolved", + "Turn off heat", + "Slowly add dry instant coffee and continue stirring", + "Add a chopped vanilla bean to the vodka, then combine the cooled sugar syrup and coffee solution with the vodka", + "Cover tightly and shake vigorously each day for 3 weeks", + "Strain and filter", + "Its also best to let the sugar mixture cool completely so the vodka won't evaporate when its added", + "If you like a smoother feel to the liqueur you can add about 1 teaspoon of glycerine to the finished product" + ], + "categories": [ + "Homemade Liqueur", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11224", + "alias": "casino-royale", + "name": "Casino Royale", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3qpv121504366699.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1/2 oz Lemon juice" + }, + { + "text": "1 tsp Maraschino liqueur" + }, + { + "text": "1 dash Orange bitters" + }, + { + "text": "1 Egg yolk" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a sour glass" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17250", + "alias": "corpse-reviver", + "name": "Corpse Reviver", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/gifgao1513704334.jpg", + "ingredients": [ + { + "text": "3/4 oz Gin" + }, + { + "text": "3/4 oz Triple Sec" + }, + { + "text": "3/4 oz Lillet Blanc" + }, + { + "text": "3/4 oz Lemon Juice" + }, + { + "text": "1 dash Absinthe" + } + ], + "steps": [ + "Shake, strain, straight up, cocktail glass rinsed with absinthe" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13328", + "alias": "chocolate-milk", + "name": "Chocolate Milk", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/j6q35t1504889399.jpg", + "ingredients": [ + { + "text": "1/2 shot Chocolate liqueur" + }, + { + "text": "1/2 shot Milk" + }, + { + "text": "1 dash Amaretto" + } + ], + "steps": [ + "Put the milk in the bottom, pour the Liquer on top and add the dash of amaretto", + "Do not mix", + "SLAM IT!" + ], + "categories": [ + "Shot", + "Shot Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11255", + "alias": "clove-cocktail", + "name": "Clove Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qxvtst1461867579.jpg", + "ingredients": [ + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1/2 oz Sloe gin" + }, + { + "text": "1/2 oz Muscatel Wine" + } + ], + "steps": [ + "Stir all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12798", + "alias": "coffee-liqueur", + "name": "Coffee Liqueur", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ryvtsu1441253851.jpg", + "ingredients": [ + { + "text": "10 tblsp instant Coffee" + }, + { + "text": "4 tblsp Vanilla extract" + }, + { + "text": "2 1/2 cups Sugar" + }, + { + "text": "1 qt Vodka" + }, + { + "text": "2 1/2 cups Water" + } + ], + "steps": [ + "Combine coffee, sugar and water", + "Simmer 1 hour and let cool", + "Add vanilla and vodka", + "Age in sealed jar 2 to 3 weeks" + ], + "categories": [ + "Homemade Liqueur", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17108", + "alias": "coke-and-drops", + "name": "Coke and Drops", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yrtxxp1472719367.jpg", + "ingredients": [ + { + "text": "1 dl Coca-Cola" + }, + { + "text": "7 drops Lemon juice" + } + ], + "steps": [ + "Take a glass, pour the Coke in the glass, then you take 7 drops of lemon juice", + "Granish with a lemon slice on the rim of the glass" + ], + "categories": [ + "Soft Drink", + "Cocktail glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12734", + "alias": "chocolate-drink", + "name": "Chocolate Drink", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/q7w4xu1487603180.jpg", + "ingredients": [ + { + "text": "125 gr Chocolate" + }, + { + "text": "3/4 L Milk" + }, + { + "text": "Water" + } + ], + "steps": [ + "Melt the bar in a small amount of boiling water", + "Add milk", + "Cook over low heat, whipping gently (with a whisk, i would assume) until heated well", + "Don't let it boil!", + "Serve in coffee mug" + ], + "categories": [ + "Cocoa", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12890", + "alias": "cranberry-punch", + "name": "Cranberry Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mzgaqu1504389248.jpg", + "ingredients": [ + { + "text": "4 cups Cranberry juice" + }, + { + "text": "1 1/2 cup Sugar" + }, + { + "text": "4 cups Pineapple juice" + }, + { + "text": "1 tblsp Almond flavoring" + }, + { + "text": "2 qt Ginger ale" + } + ], + "steps": [ + "Combine first four ingredients", + "Stir until sugar is dissolved, chill", + "Then add ginger ale just before serving", + "Add ice ring to keep punch cold" + ], + "categories": [ + "Punch / Party Drink", + "Punch Bowl", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17187", + "alias": "derby", + "name": "Derby", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/52weey1606772672.jpg", + "ingredients": [ + { + "text": "6 cl gin" + }, + { + "text": "2 dashes Peach Bitters" + }, + { + "text": "2 Fresh leaves Mint" + } + ], + "steps": [ + "Pour all ingredients into a mixing glass with ice", + "Stir", + "Strain into a cocktail glass", + "Garnish with a sprig of fresh mint in the drink" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Classic", + "IBA" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "13128", + "alias": "diesel", + "name": "Diesel", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sxrrqq1454512852.jpg", + "ingredients": [ + { + "text": "1/2 pint Lager" + }, + { + "text": "1/2 pint Cider" + }, + { + "text": "1 dash Blackcurrant cordial" + } + ], + "steps": [ + "Pour the lager first then add the blackcurrant cordial", + "Top up with the cider", + "The colour sholud be very dark approaching the colour of Guiness" + ], + "categories": [ + "Beer", + "Pint glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11006", + "alias": "daiquiri", + "name": "Daiquiri", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mrz9091589574515.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "Juice of 1/2 Lime" + }, + { + "text": "1 tsp Powdered sugar" + } + ], + "steps": [ + "Pour all ingredients into shaker with ice cubes", + "Shake well", + "Strain in chilled cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Beach" + ], + "ibaCategory": null + }, + { + "id": "15409", + "alias": "danbooka", + "name": "Danbooka", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vurrxr1441246074.jpg", + "ingredients": [ + { + "text": "3 parts Coffee" + }, + { + "text": "1 part Everclear" + } + ], + "steps": [ + "pour it in and mix it" + ], + "categories": [ + "Coffee / Tea", + "Coffee Mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16991", + "alias": "downshift", + "name": "Downshift", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/y36z8c1503563911.jpg", + "ingredients": [ + { + "text": "2 part Fruit punch" + }, + { + "text": "1 part Sprite" + }, + { + "text": "2 shots Tequila" + }, + { + "text": "Float Bacardi 151 proof rum" + } + ], + "steps": [ + "Start with the Sprite", + "Next comes the tequila", + "After that, add the Minute Maid Fruit Punch, then float the 151", + "Rocks optional" + ], + "categories": [ + "Punch / Party Drink", + "Hurricane glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11320", + "alias": "dragonfly", + "name": "Dragonfly", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uc63bh1582483589.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "4 oz Ginger ale" + }, + { + "text": "1 Lime" + } + ], + "steps": [ + "In a highball glass almost filled with ice cubes, combine the gin and ginger ale", + "Stir well", + "Garnish with the lime wedge" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11005", + "alias": "dry-martini", + "name": "Dry Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6ck9yi1589574317.jpg", + "ingredients": [ + { + "text": "1 2/3 oz Gin" + }, + { + "text": "1/3 oz Dry Vermouth" + }, + { + "text": "1 Olive" + } + ], + "steps": [ + "Straight: Pour all ingredients into mixing glass with ice cubes", + "Stir well", + "Strain in chilled martini cocktail glass", + "Squeeze oil from lemon peel onto the drink, or garnish with olive" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Christmas", + "Alcoholic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11324", + "alias": "dry-rob-roy", + "name": "Dry Rob Roy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/typuyq1439456976.jpg", + "ingredients": [ + { + "text": "2 1/2 oz Scotch" + }, + { + "text": "1 1/2 tsp Dry Vermouth" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine the Scotch and vermouth", + "Stir well", + "Strain into a cocktail glass", + "Garnish with the lemon twist" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14466", + "alias": "dirty-nipple", + "name": "Dirty Nipple", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vtyqrt1461866508.jpg", + "ingredients": [ + { + "text": "Kahlua" + }, + { + "text": "Sambuca" + }, + { + "text": "Baileys irish cream" + } + ], + "steps": [ + "This is a layered shot - the Bailey's must be on top" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17181", + "alias": "dirty-martini", + "name": "Dirty Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vcyvpq1485083300.jpg", + "ingredients": [ + { + "text": "70ml/2fl oz Vodka" + }, + { + "text": "1 tbsp Dry Vermouth" + }, + { + "text": "2 tbsp Olive Brine" + }, + { + "text": "1 wedge Lemon" + }, + { + "text": "1 Olive" + } + ], + "steps": [ + "Pour the vodka, dry vermouth and olive brine into a cocktail shaker with a handful of ice and shake well", + "Rub the rim of a martini glass with the wedge of lemon", + "Strain the contents of the cocktail shaker into the glass and add the olive", + "A dirty Martini contains a splash of olive brine or olive juice and is typically garnished with an olive" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "14482", + "alias": "darkwood-sling", + "name": "Darkwood Sling", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sxxsyq1472719303.jpg", + "ingredients": [ + { + "text": "1 part Cherry Heering" + }, + { + "text": "1 part Soda water" + }, + { + "text": "1 part Orange juice" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "There are many good cherry liqueurs you can use, but I prefere Heering", + "Add one share of the liqueur", + "Then you add one share of Soda", + "For a sour sling use Tonic (most people prefer the drink without Tonic)", + "Afterwards you fill the glass with Orange Juice and ice cubes" + ], + "categories": [ + "Soft Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17211", + "alias": "dark-and-stormy", + "name": "Dark and Stormy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/t1tn0s1504374905.jpg", + "ingredients": [ + { + "text": "5 cl Dark Rum" + }, + { + "text": "10 cl Ginger Beer" + } + ], + "steps": [ + "In a highball glass filled with ice add 6cl dark rum and top with ginger beer", + "Garnish with lime wedge" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "17177", + "alias": "dark-caipirinha", + "name": "Dark Caipirinha", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uwstrx1472406058.jpg", + "ingredients": [ + { + "text": "2 tsp demerara Sugar" + }, + { + "text": "1 Lime" + }, + { + "text": "2 1/2 oz Cachaca" + } + ], + "steps": [ + "Muddle the sugar into the lime wedges in an old-fashioned glass", + "Fill the glass with ice cubes", + "Pour the cachaca into the glass", + "Stir well" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17182", + "alias": "duchamps-punch", + "name": "Duchamp's Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/g51naw1485084685.jpg", + "ingredients": [ + { + "text": "5 cl Pisco" + }, + { + "text": "2.5 cl Lime Juice" + }, + { + "text": "2.5 cl Pineapple Syrup" + }, + { + "text": "1.5 cl St. Germain" + }, + { + "text": "2 Dashes Angostura Bitters" + }, + { + "text": "Pinch Pepper" + }, + { + "text": "2 sprigs Lavender" + } + ], + "steps": [ + "Shake all ingredients", + "Double strain in a chilled double old fashioned glass with abig ice cube", + "Garnish with a couple of lavender sprigs" + ], + "categories": [ + "Cocktail", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13194", + "alias": "damned-if-you-do", + "name": "Damned if you do", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ql7bmx1503565106.jpg", + "ingredients": [ + { + "text": "0.75 oz Whiskey" + }, + { + "text": "0.25 oz Hot Damn" + } + ], + "steps": [ + "Pour into shot glass", + "Put in mouth", + "Repeat as deemed necessary" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11326", + "alias": "dubonnet-cocktail", + "name": "Dubonnet Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pfz3hz1582483111.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dubonnet Rouge" + }, + { + "text": "3/4 oz Gin" + }, + { + "text": "1 dash Bitters" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Stir all ingredients (except lemon peel) with ice and strain into a cocktail glass", + "Add the twist of lemon peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12736", + "alias": "drinking-chocolate", + "name": "Drinking Chocolate", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/u6jrdf1487603173.jpg", + "ingredients": [ + { + "text": "2 oz Heavy cream" + }, + { + "text": "6-8 oz Milk" + }, + { + "text": "1 stick Cinnamon" + }, + { + "text": "1 Vanilla" + }, + { + "text": "2 oz finely chopped dark Chocolate" + }, + { + "text": "Fresh Whipped cream" + } + ], + "steps": [ + "Heat the cream and milk with the cinnamon and vanilla bean very slowly for 15-20 minutes", + "(If you don't have any beans add 1-2 tsp of vanilla after heating)", + "Remove the bean and cinnamon", + "Add the chocolate", + "Mix until fully melted", + "Serve topped with some very dense fresh whipped cream", + "Serves 1-2 depending upon how much of a glutton you are", + "For a richer chocolate, use 4 oz of milk, 4 oz of cream, 4 oz of chocolate", + "Serve in coffee mug" + ], + "categories": [ + "Cocoa", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178334", + "alias": "death-in-the-afternoon", + "name": "Death in the Afternoon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/y7s3rh1598719574.jpg", + "ingredients": [ + { + "text": "2 shots Absinthe" + }, + { + "text": "Top Champagne" + } + ], + "steps": [ + "Easy as you like, pour the absinthe into a chilled glass, top with champagne", + "Must be drunk mid afternoon for the optimum effect" + ], + "categories": [ + "Cocktail", + "Margarita glass", + "Alcoholic" + ], + "tags": [ + "Drunk" + ], + "ibaCategory": null + }, + { + "id": "12668", + "alias": "egg-cream", + "name": "Egg Cream", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mvis731484430445.jpg", + "ingredients": [ + { + "text": "2 tblsp Chocolate syrup" + }, + { + "text": "6 oz whole Milk" + }, + { + "text": "6 oz Soda water" + } + ], + "steps": [ + "Mix syrup and milk in a fountain glass", + "Add soda water, serve with a straw" + ], + "categories": [ + "Other / Unknown", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12910", + "alias": "egg-nog-4", + "name": "Egg Nog #4", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wpspsy1468875747.jpg", + "ingredients": [ + { + "text": "6 Egg yolk" + }, + { + "text": "1/4 cup Sugar" + }, + { + "text": "2 cups Milk" + }, + { + "text": "1/2 cup Light rum" + }, + { + "text": "1/2 cup Bourbon" + }, + { + "text": "1 tsp Vanilla extract" + }, + { + "text": "1/4 tsp Salt" + }, + { + "text": "1 cup Whipping cream" + }, + { + "text": "6 Egg white" + }, + { + "text": "1/4 cup Sugar" + }, + { + "text": "Ground Nutmeg" + } + ], + "steps": [ + "In a small mixer bowl beat egg yolks till blended", + "Gradually add 1/4 cup sugar, beating at high speed till thick and lemon colored", + "Stir in milk, stir in rum, bourbon, vanilla, and salt", + "Chill thoroughly", + "Whip cream", + "Wash beaters well", + "In a large mixer bowl beat egg whites till soft peaks form", + "Gradually add remaining 1/4 cup sugar, beating to stiff peaks", + "Fold yolk mixture and whipped cream into egg whites", + "Serve immediately", + "Sprinkle nutmeg over each serving", + "Serve in a punch bowl or another big bowl", + "NOTE: For a nonalcoholic eggnog, prepare Eggnog as above, except omit the bourbon and rum and increase the milk to 3 cups" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11338", + "alias": "english-highball", + "name": "English Highball", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/dhvr7d1504519752.jpg", + "ingredients": [ + { + "text": "3/4 oz Brandy" + }, + { + "text": "3/4 oz Gin" + }, + { + "text": "3/4 oz Sweet Vermouth" + }, + { + "text": "Carbonated water" + }, + { + "text": "Lemon peel" + } + ], + "steps": [ + "Pour brandy, gin, and sweet vermouth into a highball glass over ice cubes", + "Fill with carbonated water", + "Add the twist of lemon peel, stir, and serve", + "(Ginger ale may be substituted for carbonated water, if preferred.)" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17212", + "alias": "espresso-martini", + "name": "Espresso Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/n0sx531504372951.jpg", + "ingredients": [ + { + "text": "5 cl Vodka" + }, + { + "text": "1 cl Kahlua" + }, + { + "text": "1 dash Sugar syrup" + } + ], + "steps": [ + "Pour ingredients into shaker filled with ice, shake vigorously, and strain into chilled martini glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "178309", + "alias": "espresso-rumtini", + "name": "Espresso Rumtini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/acvf171561574403.jpg", + "ingredients": [ + { + "text": "1 shot Rum" + }, + { + "text": "1/2 shot Vanilla syrup" + }, + { + "text": "1 shot Espresso" + }, + { + "text": "1 shot Coffee" + } + ], + "steps": [ + "Mix together in a cocktail glass", + "Garnish with some choclate powder and coffee beans" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "DinnerParty", + "StrongFlavor" + ], + "ibaCategory": null + }, + { + "id": "12916", + "alias": "egg-nog-healthy", + "name": "Egg Nog - Healthy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qxuppv1468875308.jpg", + "ingredients": [ + { + "text": "1/2 cup Egg" + }, + { + "text": "3 tblsp Sugar" + }, + { + "text": "13 oz skimmed Condensed milk" + }, + { + "text": "3/4 cup skimmed Milk" + }, + { + "text": "1 tsp Vanilla extract" + }, + { + "text": "1 tsp Rum" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Whip egg substitute and sugar together, combine with the two kinds of milk, vanilla, and rum", + "Mix well", + "Chill over night", + "Sprinkle with nutmeg", + "Makes 6 servings" + ], + "categories": [ + "Punch / Party Drink", + "Collins Glass", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11339", + "alias": "english-rose-cocktail", + "name": "English Rose Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yxwrpp1441208697.jpg", + "ingredients": [ + { + "text": "3/4 oz Apricot brandy" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "3/4 oz Dry Vermouth" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "1/4 tsp Lemon juice" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Rub rim of cocktail glass with lemon juice and dip rim of glass in powdered sugar", + "Shake all ingredients (except cherry) with ice and strain into sugar-rimmed glass", + "Top with the cherry and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178346", + "alias": "elderflower-caipirinha", + "name": "Elderflower Caipirinha", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/dif7a31614006331.jpg", + "ingredients": [ + { + "text": "60 ml Cachaca" + }, + { + "text": "1 Lime" + }, + { + "text": "3 cl Elderflower cordial" + } + ], + "steps": [ + "Take the glass and muddle the lime in it", + "Fill the glass with crushed ice and add the Cachaca", + "Stir well and top with some more crushed ice", + "Garnish with lime and enjoy!" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "Brazilian" + ], + "ibaCategory": null + }, + { + "id": "12914", + "alias": "egg-nog-classic-cooked", + "name": "Egg-Nog - Classic Cooked", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/quxsvt1468875505.jpg", + "ingredients": [ + { + "text": "6 Egg" + }, + { + "text": "1/4 cup Sugar" + }, + { + "text": "1/4 tsp Salt" + }, + { + "text": "1 qt Milk" + }, + { + "text": "1 tsp Vanilla extract" + } + ], + "steps": [ + "In large saucepan, beat together eggs, sugar and salt, if desired", + "Stir in 2 cups of the milk", + "Cook over low heat, stirring constantly, until mixture is thick enough to coat a metal spoon and reaches 160 degrees F", + "Remove from heat", + "Stir in remaining 2 cups milk and vanilla", + "Cover and regfigerate until thoroughly chilled, several hours or overnight", + "Just before serving, pour into bowl or pitcher", + "Garnish or add stir-ins, if desired", + "Choose 1 or several of: Chocolate curls, cinnamon sticks, extracts of flavorings, flavored brandy or liqueur, fruit juice or nectar, ground nutmeg, maraschino cherries, orange slices, peppermint sticks or candy canes, plain brandy, run or whiskey, sherbet or ice-cream, whipping cream, whipped", + "Serve immediately" + ], + "categories": [ + "Punch / Party Drink", + "Pitcher", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17246", + "alias": "empelln-cocinas-fat-washed-mezcal", + "name": "Empellón Cocina's Fat-Washed Mezcal", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/osgvxt1513595509.jpg", + "ingredients": [ + { + "text": "2 oz Mezcal" + }, + { + "text": "3/4 oz Chocolate liqueur" + }, + { + "text": "1/2 oz Coffee liqueur" + } + ], + "steps": [ + "To ensure that your pork fat is just as delicious as theirs, here’s their adobo marinade and what to do with it (you’ll also need a rack of ribs):\r\n\r\n4 ancho chiles, 8 guajillo chiles and 4 chipotle chiles, plus 4 cloves roasted garlic, half a cup of cider vinegar, a quarter teaspoon of Mexican oregano, 1 teaspoon of ground black pepper, a whole clove, a quarter teaspoon of ground cinnamon and a half teaspoon of ground cumin", + "Toast the dried chiles and soak in water for at least an hour until they are rehydrated", + "Drain and discard the soaking liquid", + "Combine the soaked chiles with the remaining ingredients and purée until smooth", + "Cold smoke a rack of baby back pork ribs by taking a large hotel pan with woodchips on one side and charcoal on the other", + "Place another, smaller, pan with pork ribs, above the charcoal/woodchip pan", + "Ignite the charcoal, being careful to not ignite the woodchips", + "Cover both pans with foil and allow to smoke for 10-15 minutes, until desired level of smoke is achieved, then coat with adobo marinade and wrap in tin foil prior to placing ribs in a 300 degree oven for 7 hours", + "When the ribs have cooled, strain off the fat and use for the infusion", + "If you’re having a hard time coming up to the same kind of volume of fat, make up the balance with pork lard from a butcher", + "To get the same depth of flavor without the ribs, heat up the fat in a pot with a few spoons of the marinade", + "Once you’ve got your tub of seasoned pork fat in cooled liquid form, pour equal amounts of Ilegal Joven mezcal and fat into a sealable container", + "Seal the container and give it a really good shake, then put it in the freezer overnight", + "When the whole thing is separated and congealed, pour it through a fine mesh chinoise", + "If you don’t have a chinoise, try a fine mesh strainer, or if you don’t have one of those, try spooning off most of the fat", + "There will be some beads of orange fat left in the strained mezcal: run that through a few layers of cheesecloth (or coffee filters in a pinch) to get rid of the last of it", + "The mezcal is now ready for drinking, straight-up or in a cocktail", + "Habanero tincture\r\n\r\nSlice habaneros and add 2 ounces Ilegal Joven mezcal", + "Allow to sit overnight or until desired level of heat is achieved", + "Cocktail\r\n\r\nCombine mezcal and chocolate liqueur in a mixing glass with ice and stir for 45 seconds", + "Strain into chilled coupe", + "Carefully \"sink\" the coffee liqueur down the inside of the coupe over a spoon", + "Garnish with 5 drops habanero tincture" + ], + "categories": [ + "Cocktail", + "Beer Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178352", + "alias": "fros", + "name": "Frosé", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/b4cadp1619695347.jpg", + "ingredients": [ + { + "text": "750 ml Rose" + }, + { + "text": "1/2 cup Sugar" + }, + { + "text": "8 oz Strawberries" + }, + { + "text": "2-3 oz Lemon Juice" + } + ], + "steps": [ + "Step 1\nPour rosé into a 13x9\" pan and freeze until almost solid (it won't completely solidify due to the alcohol), at least 6 hours", + "Step 2\nMeanwhile, bring sugar and ½ cup water to a boil in a medium saucepan; cook, stirring constantly, until sugar dissolves, about 3 minutes", + "Add strawberries, remove from heat, and let sit 30 minutes to infuse syrup with strawberry flavor", + "Strain through a fine-mesh sieve into a small bowl (do not press on solids); cover and chill until cold, about 30 minutes", + "Step 3\nScrape rosé into a blender", + "Add lemon juice, 3½ ounces strawberry syrup, and 1 cup crushed ice and purée until smooth", + "Transfer blender jar to freezer and freeze until frosé is thickened (aim for milkshake consistency), 25–35 minutes", + "Step 4\nBlend again until frosé is slushy", + "Divide among glasses", + "Step 5\nDo Ahead: Rosé can be frozen 1 week ahead" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Cold", + "Frozen", + "Summer" + ], + "ibaCategory": null + }, + { + "id": "12768", + "alias": "frapp", + "name": "Frappé", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vqwryq1441245927.jpg", + "ingredients": [ + { + "text": "1/2 cup black Coffee" + }, + { + "text": "1/2 cup Milk" + }, + { + "text": "1-2 tsp Sugar" + } + ], + "steps": [ + "Mix together", + "Blend at highest blender speed for about 1 minute", + "Pour into a glass and drink with a straw", + "Notes: This works best if everything is cold (if you make fresh coffee, mix it with the milk and let it sit in the fridge for 1/2 hour", + "If it is not frothy, add more milk, or even just some more milk powder", + "The froth gradually turns to liquid at the bottom of the glass, so you will find that you can sit and drink this for about 1/2 hour, with more iced coffee continually appearing at the bottom", + "Very refreshing" + ], + "categories": [ + "Coffee / Tea", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11375", + "alias": "foxy-lady", + "name": "Foxy Lady", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/r9cz3q1504519844.jpg", + "ingredients": [ + { + "text": "1/2 oz Amaretto" + }, + { + "text": "1/2 oz Creme de Cacao" + }, + { + "text": "2 oz Light cream" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a chilled cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17197", + "alias": "french-75", + "name": "French 75", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hrxfbl1606773109.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "2 tsp superfine Sugar" + }, + { + "text": "1 1/2 oz Lemon juice" + }, + { + "text": "4 oz Chilled Champagne" + }, + { + "text": "1 Orange" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "Combine gin, sugar, and lemon juice in a cocktail shaker filled with ice", + "Shake vigorously and strain into a chilled champagne glass", + "Top up with Champagne", + "Stir gently" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "178344", + "alias": "figgy-thyme", + "name": "Figgy Thyme", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pbw4e51606766578.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "1 tsp Honey" + }, + { + "text": "3 Figs" + }, + { + "text": "1 Sprig Thyme" + }, + { + "text": "2 dashes Angostura Bitters" + }, + { + "text": "Top Tonic Water" + } + ], + "steps": [ + "In a lewis bag, crush up some ice like a baller/maniac (@glacioice)", + "Pour your precious ice into a collins glass", + "In a cocktail shaker, muddle the figs and thyme together", + "Add honey vodka, lemon juice, and a large ice cube (@glacioice)", + "Shake until well chilled, and strain into glass", + "Add tonic water and finally 2 dashes of angostura bitters", + "Garnish with sliced figs and thyme" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Christmas", + "Sweet" + ], + "ibaCategory": null + }, + { + "id": "11382", + "alias": "frisco-sour", + "name": "Frisco Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/acuvjz1582482022.jpg", + "ingredients": [ + { + "text": "2 oz Blended whiskey" + }, + { + "text": "1/2 oz Benedictine" + }, + { + "text": "Juice of 1/4 Lemon" + }, + { + "text": "Juice of 1/2 Lime" + }, + { + "text": "1 slice Lemon" + }, + { + "text": "1 slice Lime" + } + ], + "steps": [ + "Shake all ingredients (except slices of lemon and lime) with ice and strain into a whiskey sour glass", + "Decorate with the slices of lemon and lime and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12674", + "alias": "fruit-shake", + "name": "Fruit Shake", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/q0fg2m1484430704.jpg", + "ingredients": [ + { + "text": "1 cup fruit Yoghurt" + }, + { + "text": "1 Banana" + }, + { + "text": "4 oz frozen Orange juice" + }, + { + "text": "1/2 piece textural Fruit" + }, + { + "text": "6 Ice" + } + ], + "steps": [ + "Blend til smooth" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12670", + "alias": "fruit-cooler", + "name": "Fruit Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/i3tfn31484430499.jpg", + "ingredients": [ + { + "text": "1 can frozen Apple juice" + }, + { + "text": "1 cup Strawberries" + }, + { + "text": "2 tblsp Sugar" + }, + { + "text": "1 Lemon" + }, + { + "text": "1 Apple" + }, + { + "text": "1 L Soda water" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Toss strawberries with sugar, and let sit overnight in refrigerator", + "Cut lemon, reserve two slices", + "Juice the rest", + "Mix together the lemon juice, strawberries, apple juice, and soda water", + "Add slices of lemon (decor, really)", + "In glasses, put ice cubes, and a slice of apple", + "Pour drink in, and serve" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14688", + "alias": "freddy-kruger", + "name": "Freddy Kruger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tuppuq1461866798.jpg", + "ingredients": [ + { + "text": "1/2 oz Jägermeister" + }, + { + "text": "1/2 oz Sambuca" + }, + { + "text": "1/2 oz Vodka" + } + ], + "steps": [ + "make it an ample size shot!!" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178328", + "alias": "funk-and-soul", + "name": "Funk and Soul", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qtv83q1596015790.jpg", + "ingredients": [ + { + "text": "2 shots Rum" + }, + { + "text": "1 shot Apricot Nectar" + }, + { + "text": "1 shot Pomegranate juice" + }, + { + "text": "Juice of 1/2 lemon" + }, + { + "text": "Top Soda Water" + } + ], + "steps": [ + "Mix all ingredients together and strain into a Collins glass", + "Use Jamaican rum where possible for a more authentic taste" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15743", + "alias": "fuzzy-asshole", + "name": "Fuzzy Asshole", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wrvpuu1472667898.jpg", + "ingredients": [ + { + "text": "1/2 Coffee" + }, + { + "text": "1/2 Peach schnapps" + } + ], + "steps": [ + "fill coffe mug half full of coffee", + "Fill the other half full of Peach Schnapps", + "Stir and drink while hot" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17213", + "alias": "french-martini", + "name": "French Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/clth721504373134.jpg", + "ingredients": [ + { + "text": "4.5 cl Vodka" + }, + { + "text": "1.5 cl Raspberry Liqueur" + }, + { + "text": "1.5 cl pineapple juice" + } + ], + "steps": [ + "Pour all ingredients into shaker with ice cubes", + "Shake well and strain into a chilled cocktail glass", + "Squeeze oil from lemon peel onto the drink" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "NewEra", + "IBA" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "17248", + "alias": "french-negroni", + "name": "French Negroni", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/x8lhp41513703167.jpg", + "ingredients": [ + { + "text": "1 oz Gin" + }, + { + "text": "1 oz Lillet" + }, + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1 Orange Peel" + } + ], + "steps": [ + "Add ice to a shaker and pour in all ingredients", + "Using a bar spoon, stir 40 to 45 revolutions or until thoroughly chilled", + "Strain into a martini glass or over ice into a rocks glass", + "Garnish with orange twist" + ], + "categories": [ + "Cocktail", + "Martini Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13070", + "alias": "fahrenheit-5000", + "name": "Fahrenheit 5000", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tysssx1473344692.jpg", + "ingredients": [ + { + "text": "1/2 oz Firewater" + }, + { + "text": "1/2 oz Absolut Peppar" + }, + { + "text": "1 dash Tabasco sauce" + } + ], + "steps": [ + "Cover bottom of shot glass with Tabasco Sauce and then fill with half Firewater and half Absolut Peppar" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11368", + "alias": "flying-dutchman", + "name": "Flying Dutchman", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mwko4q1582482903.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1/2 oz Triple sec" + } + ], + "steps": [ + "In an old-fashioned glass almost filled with ice cubes, combine the gin and triple sec", + "Stir well" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11387", + "alias": "frozen-daiquiri", + "name": "Frozen Daiquiri", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7oyrj91504884412.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "1 tblsp Triple sec" + }, + { + "text": "1 1/2 oz Lime juice" + }, + { + "text": "1 tsp Sugar" + }, + { + "text": "1 Cherry" + }, + { + "text": "1 cup crushed Ice" + } + ], + "steps": [ + "Combine all ingredients (except for the cherry) in an electric blender and blend at a low speed for five seconds, then blend at a high speed until firm", + "Pour contents into a champagne flute, top with the cherry, and serve" + ], + "categories": [ + "Ordinary Drink", + "Champagne flute", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12672", + "alias": "fruit-flip-flop", + "name": "Fruit Flip-Flop", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/nfdx6p1484430633.jpg", + "ingredients": [ + { + "text": "1 cup Yoghurt" + }, + { + "text": "1 cup Fruit juice" + } + ], + "steps": [ + "Place all ingredients in the blender jar - cover and whiz on medium speed until well blended", + "Pour in one tall, 2 medium or 3 small glasses and drink up" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11369", + "alias": "flying-scotchman", + "name": "Flying Scotchman", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/q53l911582482518.jpg", + "ingredients": [ + { + "text": "1 oz Scotch" + }, + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1 dash Bitters" + }, + { + "text": "1/4 tsp Sugar syrup" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17198", + "alias": "french-connection", + "name": "French Connection", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/zaqa381504368758.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Cognac" + }, + { + "text": "3/4 oz Amaretto" + } + ], + "steps": [ + "Pour all ingredients directly into old fashioned glass filled with ice cubes", + "Stir gently" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "13202", + "alias": "flaming-dr-pepper", + "name": "Flaming Dr. Pepper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/d30z931503565384.jpg", + "ingredients": [ + { + "text": "1 oz Amaretto" + }, + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Bacardi 151 proof rum" + }, + { + "text": "1 oz Dr. Pepper" + }, + { + "text": "1 oz Beer" + } + ], + "steps": [ + "Add Amaretto, Bacardi, and vodka", + "Mix in the Dr", + "Pepper and beer" + ], + "categories": [ + "Shot", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16485", + "alias": "flaming-lamborghini", + "name": "Flaming Lamborghini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yywpss1461866587.jpg", + "ingredients": [ + { + "text": "1 oz Kahlua" + }, + { + "text": "1 oz Sambuca" + }, + { + "text": "1 oz Blue Curacao" + }, + { + "text": "1 oz Baileys irish cream" + } + ], + "steps": [ + "Pour the Sambuca and Kahlua into the Cocktail Glass and give the drinker a straw", + "Pour the Baileys and Blue Curacao into two sepsrate shot glasses either side of the cocktail glass", + "Set light the concotion in the cocktail glass and start to drink through the straw (this drink should be drunk in one) , as the bottom of the glass is reached put out the fire by pouring the Baileys and Blue Curacao into the cocktail glass and keep drinking till it's all gone!!" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13675", + "alias": "flanders-flake-out", + "name": "Flander's Flake-Out", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sqvqrx1461866705.jpg", + "ingredients": [ + { + "text": "1/4 glass Sambuca" + }, + { + "text": "3/4 glass Sarsaparilla" + } + ], + "steps": [ + "Bang 'em both in" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11390", + "alias": "frozen-mint-daiquiri", + "name": "Frozen Mint Daiquiri", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jrhn1q1504884469.jpg", + "ingredients": [ + { + "text": "2 oz Light rum" + }, + { + "text": "1 tblsp Lime juice" + }, + { + "text": "6 Mint" + }, + { + "text": "1 tsp Sugar" + } + ], + "steps": [ + "Combine all ingredients with 1 cup of crushed ice in an electric blender", + "Blend at a low speed for a short length of time", + "Pour into an old-fashioned glass and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11391", + "alias": "frozen-pineapple-daiquiri", + "name": "Frozen Pineapple Daiquiri", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/k3aecd1582481679.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "4 chunks Pineapple" + }, + { + "text": "1 tblsp Lime juice" + }, + { + "text": "1/2 tsp Sugar" + } + ], + "steps": [ + "Combine all ingredients with 1 cup of crushed ice in an electric blender", + "Blend at a low speed for a short length of time", + "Pour into a cocktail glass and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15997", + "alias": "gg", + "name": "GG", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vyxwut1468875960.jpg", + "ingredients": [ + { + "text": "2 1/2 shots Galliano" + }, + { + "text": "Ginger ale" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Pour the Galliano liqueur over ice", + "Fill the remainder of the glass with ginger ale and thats all there is to it", + "You now have a your very own GG" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17255", + "alias": "gimlet", + "name": "Gimlet", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3xgldt1513707271.jpg", + "ingredients": [ + { + "text": "2 1/2 oz Gin" + }, + { + "text": "1/2 oz Lime Juice" + }, + { + "text": "1/2 oz Sugar Syrup" + }, + { + "text": "1 Lime" + } + ], + "steps": [ + "Add all the ingredients to a shaker and fill with ice", + "Shake, and strain into a chilled cocktail glass or an Old Fashioned glass filled with fresh ice", + "Garnish with a lime wheel" + ], + "categories": [ + "Cocktail", + "Martini Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11422", + "alias": "godchild", + "name": "Godchild", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/m5nhtr1504820829.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Amaretto" + }, + { + "text": "1 oz Heavy cream" + } + ], + "steps": [ + "Shake all ingredients well with cracked ice, strain into a champagne flute, and serve" + ], + "categories": [ + "Ordinary Drink", + "Champagne flute", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11410", + "alias": "gin-fizz", + "name": "Gin Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/drtihp1606768397.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients with ice cubes, except soda water", + "Pour into glass", + "Top with soda water" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11417", + "alias": "gin-sour", + "name": "Gin Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/noxp7e1606769224.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1/2 tsp superfine Sugar" + }, + { + "text": "1 Orange" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the gin, lemon juice, and sugar", + "Shake well", + "Strain into a sour glass and garnish with the orange slice and the cherry" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [ + "Sour" + ], + "ibaCategory": null + }, + { + "id": "12758", + "alias": "gagliardo", + "name": "Gagliardo", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/lyloe91487602877.jpg", + "ingredients": [ + { + "text": "5 parts Peach Vodka" + }, + { + "text": "3 parts Lemon juice" + }, + { + "text": "1 part Galliano" + }, + { + "text": "1 part Sirup of roses" + } + ], + "steps": [ + "Shake well and serve in a cocktail glass", + "This is a home cocktail of American/Internet Bar del Pozzo, Pavia, Italy" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11424", + "alias": "godmother", + "name": "Godmother", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/quksqg1582582597.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "3/4 oz Amaretto" + } + ], + "steps": [ + "Pour vodka and amaretto into an old-fashioned glass over ice and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": null + }, + { + "id": "11423", + "alias": "godfather", + "name": "Godfather", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/e5zgao1582582378.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "3/4 oz Amaretto" + } + ], + "steps": [ + "Pour all ingredients directly into old fashioned glass filled with ice cubes", + "Stir gently" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "12944", + "alias": "gluehwein", + "name": "Gluehwein", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vuxwvt1468875418.jpg", + "ingredients": [ + { + "text": "1 L Red wine" + }, + { + "text": "125 ml Water" + }, + { + "text": "60 gr Sugar" + }, + { + "text": "1 Cinnamon" + }, + { + "text": "3 Cloves" + }, + { + "text": "1 tblsp Lemon peel" + } + ], + "steps": [ + "Boil sugar and spices in water, leave in the water for 30 minutes", + "Strain the spiced water and mix with the wine", + "Heat slowly until short of boiling temperature", + "(To remove alcohol, let it boil for a while.) You may add lemon or orange juice to taste", + "Serve in irish coffee cup" + ], + "categories": [ + "Punch / Party Drink", + "Irish coffee cup", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178365", + "alias": "gin-tonic", + "name": "Gin Tonic", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qcgz0t1643821443.jpg", + "ingredients": [ + { + "text": "4 cl Gin" + }, + { + "text": "10 cl Tonic Water" + }, + { + "text": "1 Slice Lemon Peel" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Fill a highball glass with ice, pour the gin, top with tonic water and squeeze a lemon wedge and garnish with a lemon wedge" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11420", + "alias": "gin-toddy", + "name": "Gin Toddy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jxstwf1582582101.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "2 tsp Water" + }, + { + "text": "1/2 tsp Powdered sugar" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Mix powdered sugar and water in an old-fashioned glass", + "Add gin and one ice cube", + "Stir, add the twist of lemon peel, and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11416", + "alias": "gin-smash", + "name": "Gin Smash", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/iprva61606768774.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 oz Carbonated water" + }, + { + "text": "1 cube Sugar" + }, + { + "text": "4 Mint" + }, + { + "text": "1 slice Orange" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Muddle sugar with carbonated water and mint sprigs in an old-fashioned glass", + "Add gin and 1 ice cube", + "Stir, add the orange slice and the cherry, and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "Citrus", + "StrongFlavor" + ], + "ibaCategory": null + }, + { + "id": "11408", + "alias": "gin-daisy", + "name": "Gin Daisy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/z6e22f1582581155.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1/2 tsp superfine Sugar" + }, + { + "text": "1/2 tsp Grenadine" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 Orange" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the gin, lemon juice, sugar, and grenadine", + "Shake well", + "Pour into an old-fashioned glass and garnish with the cherry and the orange slice" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178366", + "alias": "gin-lemon", + "name": "Gin Lemon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6gdohq1681212476.jpg", + "ingredients": [ + { + "text": "6 cl Gin" + }, + { + "text": "8 cl Lemon Juice" + }, + { + "text": "1 Slice Lemon Peel" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "For the preparation of the gin lemon you will not need the shaker", + "Fill the tumbler with ice, pour the gin and lemonade over it", + "Gently mix and decorate with a slice of lemon", + "Those who prefer can also add a few mint leaves", + "Your gin lemon is ready to be served" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "simple", + "classic", + "refreshing" + ], + "ibaCategory": null + }, + { + "id": "11415", + "alias": "gin-sling", + "name": "Gin Sling", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/8cl9sm1582581761.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 tsp Water" + }, + { + "text": "Twist of Orange peel" + } + ], + "steps": [ + "Dissolve powdered sugar in mixture of water and juice of lemon", + "Add gin", + "Pour into an old-fashioned glass over ice cubes and stir", + "Add the twist of orange peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17252", + "alias": "greyhound", + "name": "Greyhound", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/g5upn41513706732.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "3 oz Grapefruit Juice" + } + ], + "steps": [ + "Add the vodka to a Collins glass filled with ice", + "Top with grapefruit juice and stir" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17230", + "alias": "gin-rickey", + "name": "Gin Rickey", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/s00d6f1504883945.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "Juice of 1/2 lemon" + }, + { + "text": "Top up with Soda Water" + }, + { + "text": "Garnish Lime" + } + ], + "steps": [ + "Half-fill a tall glass with ice", + "Mix the gin and Grenadine together and pour over the ice", + "Add the lime or lemon juice and top off with soda water", + "Decorate the glass with lime and/or lemon slices" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11418", + "alias": "gin-squirt", + "name": "Gin Squirt", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xrbhz61504883702.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "1 tblsp Powdered sugar" + }, + { + "text": "3 chunks Pineapple" + }, + { + "text": "2 Strawberries" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Stir gin, grenadine, and powdered sugar with ice and strain into a highball glass over ice cubes", + "Fill with carbonated water and stir", + "Decorate with the pineapple chunks and the strawberries and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15427", + "alias": "grand-blue", + "name": "Grand Blue", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vsrsqu1472761749.jpg", + "ingredients": [ + { + "text": "1 1/2 cl Malibu rum" + }, + { + "text": "1 1/2 cl Peach schnapps" + }, + { + "text": "1 1/2 cl Blue Curacao" + }, + { + "text": "3 cl Sweet and sour" + } + ], + "steps": [ + "Serve in an old fashioned glass" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11407", + "alias": "gin-cooler", + "name": "Gin Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/678xt11582481163.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "Carbonated water" + }, + { + "text": "Powdered sugar" + }, + { + "text": "Orange spiral" + }, + { + "text": "Lemon peel" + } + ], + "steps": [ + "Stir powdered sugar and 2 oz", + "carbonated water in a collins glass", + "Fill glass with ice and add gin", + "Fill with carbonated water and stir", + "Add the lemon peel and the orange spiral so that the end of the orange spiral dangles over rim of glass" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11419", + "alias": "gin-swizzle", + "name": "Gin Swizzle", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sybce31504884026.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Lime juice" + }, + { + "text": "1 tsp superfine Sugar" + }, + { + "text": "2 oz Gin" + }, + { + "text": "1 dash Bitters" + }, + { + "text": "3 oz Club soda" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the lime juice, sugar, gin, and bitters", + "Shake well", + "Almost fill a colling glass with ice cubes", + "Stir until the glass is frosted", + "Strain the mixture in the shaker into the glass and add the club soda" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11433", + "alias": "grass-skirt", + "name": "Grass Skirt", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qyvprp1473891585.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 oz Pineapple juice" + }, + { + "text": "1/2 tsp Grenadine" + }, + { + "text": "1 Pineapple" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the gin, triple sec, pineapple juice, and grenadine", + "Shake well", + "Pour into an old-fashioned glass and garnish with the pineapple slice" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17200", + "alias": "grasshopper", + "name": "Grasshopper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/aqm9el1504369613.jpg", + "ingredients": [ + { + "text": "3/4 oz Green Creme de Menthe" + }, + { + "text": "3/4 oz white Creme de Cacao" + }, + { + "text": "3/4 oz Light cream" + } + ], + "steps": [ + "Pour ingredients into a cocktail shaker with ice", + "Shake briskly and then strain into a chilled cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic", + "Halloween" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "14642", + "alias": "grim-reaper", + "name": "Grim Reaper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kztu161504883192.jpg", + "ingredients": [ + { + "text": "1 oz Kahlua" + }, + { + "text": "1 oz Bacardi 151 proof rum" + }, + { + "text": "1 dash Grenadine" + } + ], + "steps": [ + "Mix Kahlua and 151 in glass", + "Quickly add ice and pour grenadine over ice to give ice red tint" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178342", + "alias": "gin-and-soda", + "name": "Gin and Soda", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/nzlyc81605905755.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "5 oz Soda Water" + }, + { + "text": "1/4 Lime" + } + ], + "steps": [ + "Pour the Gin and Soda water into a highball glass almost filled with ice cubes", + "Stir well", + "Garnish with the lime wedge" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Clear", + "Alcoholic" + ], + "ibaCategory": null + }, + { + "id": "16262", + "alias": "hd", + "name": "H.D.", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/upusyu1472667977.jpg", + "ingredients": [ + { + "text": "4 cl Whisky" + }, + { + "text": "8 cl Baileys irish cream" + }, + { + "text": "Coffee" + } + ], + "steps": [ + "Mix the whisky and Baileys Cream in a beer-glass (at least 50 cl)", + "Fill the rest of the glass with coffee" + ], + "categories": [ + "Coffee / Tea", + "Beer mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178316", + "alias": "honey-bee", + "name": "Honey Bee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vu8l7t1582475673.jpg", + "ingredients": [ + { + "text": "6 cl White Rum" + }, + { + "text": "2 cl Honey" + }, + { + "text": "2 cl Lemon Juice" + } + ], + "steps": [ + "Shake ingredients with crushed ice" + ], + "categories": [ + "Cocktail", + "Margarita glass", + "Alcoholic" + ], + "tags": [ + "Sweet" + ], + "ibaCategory": null + }, + { + "id": "178345", + "alias": "hot-toddy", + "name": "Hot Toddy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ggx0lv1613942306.jpg", + "ingredients": [ + { + "text": "50 ml Whiskey" + }, + { + "text": "15 ml Honey" + }, + { + "text": "1 Cinnamon" + }, + { + "text": "1 lemon" + }, + { + "text": "2 Cloves" + } + ], + "steps": [ + "STEP 1\r\nWhisk the whisky and honey together and split between 2 heatproof glasses", + "Add half of the cinnamon stick to each, then top up with 200ml boiling water", + "STEP 2\r\nAdd a splash of lemon juice to each, then taste and add more to your preference", + "Finish each with a slice of lemon, studded with a clove, and serve immediately" + ], + "categories": [ + "Cocktail", + "Irish coffee cup", + "Alcoholic" + ], + "tags": [ + "Winter" + ], + "ibaCategory": null + }, + { + "id": "15813", + "alias": "herbal-flame", + "name": "Herbal flame", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rrstxv1441246184.jpg", + "ingredients": [ + { + "text": "5 shots Hot Damn" + }, + { + "text": "very sweet Tea" + } + ], + "steps": [ + "Pour Hot Damn 100 in bottom of a jar or regular glass", + "Fill the rest of the glass with sweet tea", + "Stir with spoon, straw, or better yet a cinnamon stick and leave it in" + ], + "categories": [ + "Coffee / Tea", + "Mason jar", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17202", + "alias": "horses-neck", + "name": "Horse's Neck", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/006k4e1504370092.jpg", + "ingredients": [ + { + "text": "1 long strip Lemon peel" + }, + { + "text": "2 oz Brandy" + }, + { + "text": "5 oz Ginger ale" + }, + { + "text": "2 dashes Bitters" + } + ], + "steps": [ + "Pour brandy and ginger ale directly into highball glass with ice cubes", + "Stir gently", + "Garnish with lemon zest", + "If desired, add dashes of Angostura Bitter" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "12766", + "alias": "happy-skipper", + "name": "Happy Skipper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/42w2g41487602448.jpg", + "ingredients": [ + { + "text": "1 1/2 cl Spiced rum" + }, + { + "text": "Ginger ale" + }, + { + "text": "Lime" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Pour Captain Morgan's Spiced Rum over ice, fill glass to top with Ginger Ale", + "Garnish with lime", + "Tastes like a cream soda", + "Named for the Gilligan's Island reference (\"The Captain\" *in* \"Ginger\" is a Happy Skipper!)" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17239", + "alias": "hunters-moon", + "name": "Hunter's Moon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/t0iugg1509556712.jpg", + "ingredients": [ + { + "text": "25 ml Vermouth" + }, + { + "text": "15 ml Maraschino Cherry" + }, + { + "text": "10 ml Sugar Syrup" + }, + { + "text": "100 ml Lemonade" + }, + { + "text": "2 Blackberries" + } + ], + "steps": [ + "Put the Bombay Sapphire, Martini Bianco, sugar syrup & blackberries in a cocktail shaker with lots of ice and shake vigorously before pouring into a balloon glass, topping up with lemonade and garnishing with a wedge of orange" + ], + "categories": [ + "Cocktail", + "Balloon Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178313", + "alias": "halloween-punch", + "name": "Halloween Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7hcgyj1571687671.jpg", + "ingredients": [ + { + "text": "1 bottle Cherry Juice" + }, + { + "text": "3 Orange Peel" + }, + { + "text": "1 Red Chili Flakes" + }, + { + "text": "10 Cloves" + }, + { + "text": "6 Ginger" + }, + { + "text": "20 cl Vodka" + } + ], + "steps": [ + "Tip the cherry juice, orange peel, chilli, cinnamon sticks, cloves and ginger into a large saucepan", + "Simmer for 5 mins, then turn off the heat", + "Leave to cool, then chill for at least 4 hrs, or up to 2 days – the longer you leave it the more intense the flavours", + "If serving to young children, take the chilli out after a few hours", + "When you’re ready to serve, pour the juice into a jug", + "Serve in glass bottles or glasses and pop a straw in each", + "If you're adding vodka, do so at this stage", + "Dangle a fangs sweet from each glass" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Alcoholic" + ], + "tags": [ + "Halloween" + ], + "ibaCategory": null + }, + { + "id": "11470", + "alias": "havana-cocktail", + "name": "Havana Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/59splc1504882899.jpg", + "ingredients": [ + { + "text": "1 oz Light rum" + }, + { + "text": "1 oz Pineapple juice" + }, + { + "text": "1 tsp Lemon juice" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12954", + "alias": "holloween-punch", + "name": "Holloween Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/lfeoe41504888925.jpg", + "ingredients": [ + { + "text": "Grape juice" + }, + { + "text": ", orange Carbonated soft drink" + }, + { + "text": "Sherbet" + }, + { + "text": "Sherbet" + } + ], + "steps": [ + "Take a bunch of grape juice and a bunch of fizzy stuff (club soda, ginger ale, lemonlime, whatever)", + "Mix them in a punch bowl", + "Take orange sherbet and lime sherbet", + "Scoop out scoops and float them in the punch, let them melt a little so that a nasty film spreads all over the top of the punch but there are still \"bubbles\" in it in the form of sherbet scoops", + "Looks horrible, tastes just fine" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17044", + "alias": "homemade-kahlua", + "name": "Homemade Kahlua", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uwtsst1441254025.jpg", + "ingredients": [ + { + "text": "2 1/2 cups Sugar" + }, + { + "text": "1 cup Corn syrup" + }, + { + "text": "1 1/2 oz instant Coffee" + }, + { + "text": "2 oz Vanilla extract" + }, + { + "text": "3 cups boiling Water" + }, + { + "text": "1 fifth Vodka" + } + ], + "steps": [ + "Dissolve sugar in 2 cups of boiling water and add corn syrup", + "Dissolve the instant coffee in the remaining water", + "Pour syrup and coffee in a gallon jug", + "Let it cool", + "Add vodka and vanilla when cold", + "For the best result, let the mixture \"mature\" for 4-5 weeks" + ], + "categories": [ + "Homemade Liqueur", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14782", + "alias": "hot-creamy-bush", + "name": "Hot Creamy Bush", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/spvrtp1472668037.jpg", + "ingredients": [ + { + "text": "1 shot Irish whiskey" + }, + { + "text": "3/4 shot Baileys irish cream" + }, + { + "text": "6 oz hot Coffee" + } + ], + "steps": [ + "Combine all ingredients in glass" + ], + "categories": [ + "Coffee / Tea", + "Irish coffee cup", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11462", + "alias": "harvey-wallbanger", + "name": "Harvey Wallbanger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7os4gs1606854357.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1/2 oz Galliano" + }, + { + "text": "4 oz Orange juice" + } + ], + "steps": [ + "Stir the vodka and orange juice with ice in the glass, then float the Galliano on top", + "Garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "11472", + "alias": "hawaiian-cocktail", + "name": "Hawaiian Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ujoh9x1504882987.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1 tblsp Pineapple juice" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17201", + "alias": "hemingway-special", + "name": "Hemingway Special", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jfcvps1504369888.jpg", + "ingredients": [ + { + "text": "12 parts Rum" + }, + { + "text": "8 parts Grapefruit Juice" + }, + { + "text": "3 parts Maraschino Liqueur" + }, + { + "text": "3 parts Lime Juice" + } + ], + "steps": [ + "Pour all ingredients into a shaker with ice", + "Shake" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "11476", + "alias": "highland-fling-cocktail", + "name": "Highland Fling Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0bkwca1492975553.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "3/4 oz Sweet Vermouth" + }, + { + "text": "2 dashes Orange bitters" + }, + { + "text": "1 Olive" + } + ], + "steps": [ + "Stir all ingredients (except olive) with ice and strain into a cocktail glass", + "Add the olive and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12738", + "alias": "hot-chocolate-to-die-for", + "name": "Hot Chocolate to Die for", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0lrmjp1487603166.jpg", + "ingredients": [ + { + "text": "12 oz fine Chocolate" + }, + { + "text": "1 tsp Butter" + }, + { + "text": "1/2 tsp Vanilla extract" + }, + { + "text": "1 cup Half-and-half" + }, + { + "text": "mini Marshmallows" + } + ], + "steps": [ + "Melt the chocolate, butter and vanilla in a double boiler", + "When just smooth stir in the cream" + ], + "categories": [ + "Cocoa", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17176", + "alias": "ipamena", + "name": "Ipamena", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yswuwp1469090992.jpg", + "ingredients": [ + { + "text": "½ Lime" + }, + { + "text": "2 tsp Brown sugar" + }, + { + "text": "4 cl Passion fruit juice" + }, + { + "text": "top up with Ginger ale" + }, + { + "text": "fill Ice" + } + ], + "steps": [ + "Cut half a lime into pieces, place in a shaker, add the sugar and crush", + "Measure the passion fruit juice, add it to the shaker and fill up with ice cubes", + "Close the shaker and shake vigorously", + "Pour the liquid into a glass, top up with ginger ale, stir with a teaspoon and then garnish the rim of the glass with a slice of lime" + ], + "categories": [ + "Ordinary Drink", + "Wine Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13539", + "alias": "ice-pick", + "name": "Ice Pick", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ypsrqp1469091726.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "6 oz Iced tea" + }, + { + "text": "to taste Lemon juice" + } + ], + "steps": [ + "Put Vodka in glass fill with iced tea", + "Stir in lemon to taste" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12770", + "alias": "iced-coffee", + "name": "Iced Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ytprxy1454513855.jpg", + "ingredients": [ + { + "text": "1/4 cup instant Coffee" + }, + { + "text": "1/4 cup Sugar" + }, + { + "text": "1/4 cup hot Water" + }, + { + "text": "4 cups cold Milk" + } + ], + "steps": [ + "Mix together until coffee and sugar is dissolved", + "Add milk", + "Shake well", + "Using a blender or milk shake maker produces a very foamy drink", + "Serve in coffee mug" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12820", + "alias": "irish-cream", + "name": "Irish Cream", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/90etyl1504884699.jpg", + "ingredients": [ + { + "text": "1 cup Scotch" + }, + { + "text": "1 1/4 cup Half-and-half" + }, + { + "text": "1 can sweetened Condensed milk" + }, + { + "text": "3 drops Coconut syrup" + }, + { + "text": "1 tblsp Chocolate syrup" + } + ], + "steps": [ + "Mix scotch and milk", + "Add half-and-half", + "Add rest" + ], + "categories": [ + "Homemade Liqueur", + "Irish coffee cup", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13971", + "alias": "irish-coffee", + "name": "Irish Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sywsqw1439906999.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Irish whiskey" + }, + { + "text": "8 oz Coffee" + }, + { + "text": "1 tsp Sugar" + }, + { + "text": "1 tblsp Whipped cream" + } + ], + "steps": [ + "Heat the coffee, whiskey and sugar; do not boil", + "Pour into glass and top with cream; serve hot" + ], + "categories": [ + "Coffee / Tea", + "Irish coffee cup", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "11528", + "alias": "irish-spring", + "name": "Irish Spring", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sot8v41504884783.jpg", + "ingredients": [ + { + "text": "1 oz Irish whiskey" + }, + { + "text": "1/2 oz Peach brandy" + }, + { + "text": "1 oz Orange juice" + }, + { + "text": "1 oz Sweet and sour" + }, + { + "text": "1 slice Orange" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Pour all ingredients (except orange slice and cherry) into a collins glass over ice cubes", + "Garnish with the slice of orange, add the cherry on top, and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11524", + "alias": "imperial-fizz", + "name": "Imperial Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/zj1usl1504884548.jpg", + "ingredients": [ + { + "text": "1/2 oz Light rum" + }, + { + "text": "1 1/2 oz Blended whiskey" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients (except carbonated water) with ice and strain into a highball glass over two ice cubes", + "Fill with carbonated water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17015", + "alias": "irish-russian", + "name": "Irish Russian", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/swqurw1454512730.jpg", + "ingredients": [ + { + "text": "1 shot Vodka" + }, + { + "text": "1 shot Kahlua" + }, + { + "text": "1 dash Coca-Cola" + }, + { + "text": "Fill with Guinness stout" + } + ], + "steps": [ + "Add the ingredients in the order listed in the recipe", + "Care must be taken when adding the Guinness to prevent an excess of foam", + "Do Not add ice" + ], + "categories": [ + "Beer", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12706", + "alias": "imperial-cocktail", + "name": "Imperial Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bcsj2e1487603625.jpg", + "ingredients": [ + { + "text": "4 cl Lime juice" + }, + { + "text": "2 cl Gin" + }, + { + "text": "4 cl Aperol" + } + ], + "steps": [ + "Shake with ice and strain into cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12772", + "alias": "iced-coffee-fillip", + "name": "Iced Coffee Fillip", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sxtxrp1454514223.jpg", + "ingredients": [ + { + "text": "2 tsp Kahlua" + }, + { + "text": "Strong cold Coffee" + } + ], + "steps": [ + "Mix together in a coffee mug and chill before serving" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16987", + "alias": "irish-curdling-cow", + "name": "Irish Curdling Cow", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yrhutv1503563730.jpg", + "ingredients": [ + { + "text": "3/4 oz Baileys irish cream" + }, + { + "text": "3/4 oz Bourbon" + }, + { + "text": "3/4 oz Vodka" + }, + { + "text": "2-3 oz Orange juice" + } + ], + "steps": [ + "Pour Irish Cream, Vodka, and Bourbon in a glass", + "Add some ice and mix in the orange juice" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17178", + "alias": "jam-donut", + "name": "Jam Donut", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uuytrp1474039804.jpg", + "ingredients": [ + { + "text": "2/3 oz Baileys irish cream" + }, + { + "text": "1/3 oz Chambord raspberry liqueur" + }, + { + "text": "1 tsp Sugar syrup" + }, + { + "text": "2 pinches Sugar" + } + ], + "steps": [ + "Coat the rim of a shot glass with sugar using sugar syrup to stick", + "Add the Chambord raspberry liqueur to the shot glass, and carefully layer the Baileys Irish Cream on top", + "Serve" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16178", + "alias": "jitterbug", + "name": "Jitterbug", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wwqvrq1441245318.jpg", + "ingredients": [ + { + "text": "2 jiggers Gin" + }, + { + "text": "1 jigger Vodka" + }, + { + "text": "3 dashes Grenadine" + }, + { + "text": "1 shot Lime juice" + }, + { + "text": "Around rim put 1 pinch Sugar" + }, + { + "text": "3 dashes Sugar syrup" + }, + { + "text": "Fill to top with Soda water" + } + ], + "steps": [ + "Wet glass, dip rim in sugar", + "Then add Ice", + "Then add everything else", + "It's that simple!" + ], + "categories": [ + "Cocktail", + "Cocktail Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13847", + "alias": "jackhammer", + "name": "Jackhammer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/9von5j1504388896.jpg", + "ingredients": [ + { + "text": "1 oz Jack Daniels" + }, + { + "text": "1 oz Amaretto" + } + ], + "steps": [ + "Serve over ice- Warning,Deadly!" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13775", + "alias": "jelly-bean", + "name": "Jelly Bean", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bglc6y1504388797.jpg", + "ingredients": [ + { + "text": "1 oz Blackberry brandy" + }, + { + "text": "1 oz Anis" + } + ], + "steps": [ + "mix equal parts in pony glass-tastes just like a jelly bean!" + ], + "categories": [ + "Shot", + "Cordial glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14956", + "alias": "jello-shots", + "name": "Jello shots", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/l0smzo1504884904.jpg", + "ingredients": [ + { + "text": "2 cups Vodka" + }, + { + "text": "3 packages Jello" + }, + { + "text": "3 cups Water" + } + ], + "steps": [ + "Boil 3 cups of water then add jello", + "Mix jello and water until jello is completely disolved", + "Add the two cups of vodka and mix together", + "Pour mixture into plastic shot glasses and chill until firm", + "Then, eat away" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14095", + "alias": "jamaica-kiss", + "name": "Jamaica Kiss", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/urpvvv1441249549.jpg", + "ingredients": [ + { + "text": "1 shot Coffee liqueur" + }, + { + "text": "1 shot Jamaican Light rum" + }, + { + "text": "cubes Ice" + }, + { + "text": "Milk" + } + ], + "steps": [ + "Fill a tumbler with ice cubes", + "Add a shot of Tia Maria and a shot of Jamaican light rum", + "Fill the tumbler with milk", + "Blend until smooth and serve immediately" + ], + "categories": [ + "Shake", + "Hurricane glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11580", + "alias": "john-collins", + "name": "John Collins", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0t4bv71606854479.jpg", + "ingredients": [ + { + "text": "2 oz Bourbon" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1 tsp superfine Sugar" + }, + { + "text": "3 oz Club soda" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 Orange" + } + ], + "steps": [ + "Pour all ingredients directly into highball glass filled with ice", + "Stir gently", + "Garnish", + "Add a dash of Angostura bitters" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA" + ], + "ibaCategory": null + }, + { + "id": "11558", + "alias": "japanese-fizz", + "name": "Japanese Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/37vzv11504884831.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Blended whiskey" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 tblsp Port" + }, + { + "text": "1 Egg white" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients (except carbonated water) with ice and strain into a highball glass over two ice cubes", + "Fill with carbonated water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15825", + "alias": "jamaican-coffee", + "name": "Jamaican Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xqptps1441247257.jpg", + "ingredients": [ + { + "text": "1/6 glass Rum" + }, + { + "text": "1/6 glass strong black Coffee" + }, + { + "text": "1/2 glass cold Water" + }, + { + "text": "Whipped cream" + } + ], + "steps": [ + "Stir the rum, coffee and water together", + "Top with the whipped cream", + "Sprinkle with a pinch of well ground coffee and drink with a straw" + ], + "categories": [ + "Coffee / Tea", + "Champagne flute", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12688", + "alias": "just-a-moonmint", + "name": "Just a Moonmint", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/znald61487604035.jpg", + "ingredients": [ + { + "text": "2 cups Milk" + }, + { + "text": "Chocolate syrup" + }, + { + "text": "Mint syrup" + } + ], + "steps": [ + "Place all ingredients in the blender jar - cover and whiz on medium speed until well blended", + "Pour in one tall, 2 medium or 3 small glasses and drink up" + ], + "categories": [ + "Shake", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11566", + "alias": "jewel-of-the-nile", + "name": "Jewel Of The Nile", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hx4nrb1504884947.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/2 oz Green Chartreuse" + }, + { + "text": "1/2 oz Yellow Chartreuse" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine all of the ingredients", + "Stir well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11542", + "alias": "jack-rose-cocktail", + "name": "Jack Rose Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uuqqrv1439907068.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Apple brandy" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "Juice of 1/2 Lime" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Beach" + ], + "ibaCategory": null + }, + { + "id": "16275", + "alias": "jacks-vanilla-coke", + "name": "Jack's Vanilla Coke", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kjnt7z1504793319.jpg", + "ingredients": [ + { + "text": "4-5 Ice" + }, + { + "text": "2 oz Tennessee whiskey" + }, + { + "text": "1 tsp Vanilla extract" + }, + { + "text": "10-12 oz Coca-Cola" + } + ], + "steps": [ + "After pouring in your ingredients, and adding 3-5 ice cubes, according to taste", + "Stir the drink with a stirrer to get the Vanilla off the bottom" + ], + "categories": [ + "Other / Unknown", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17203", + "alias": "kir", + "name": "Kir", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/apneom1504370294.jpg", + "ingredients": [ + { + "text": "1 part Creme de Cassis" + }, + { + "text": "5 parts Champagne" + } + ], + "steps": [ + "Add the crème de cassis to the bottom of the glass, then top up with wine" + ], + "categories": [ + "Ordinary Drink", + "Wine Glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": null + }, + { + "id": "12764", + "alias": "karsk", + "name": "Karsk", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/808mxk1487602471.jpg", + "ingredients": [ + { + "text": "1 part Coffee" + }, + { + "text": "2 parts Grain alcohol" + } + ], + "steps": [ + "Put a copper coin in a coffe-cup and fill up with coffee until you no longer see the coin, then add alcohol until you see the coin", + "Norwegian speciality" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11600", + "alias": "kamikaze", + "name": "Kamikaze", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/d7ff7u1606855412.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 oz Lime juice" + } + ], + "steps": [ + "Shake all ingredients together with ice", + "Strain into glass, garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "13837", + "alias": "kir-royale", + "name": "Kir Royale", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yt9i7n1504370388.jpg", + "ingredients": [ + { + "text": "1 part Creme de Cassis" + }, + { + "text": "5 parts Champagne" + } + ], + "steps": [ + "Pour Creme de cassis in glass, gently pour champagne on top" + ], + "categories": [ + "Ordinary Drink", + "Champagne Flute", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14752", + "alias": "kiwi-lemon", + "name": "Kiwi Lemon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tpupvr1478251697.jpg", + "ingredients": [ + { + "text": "1 part Kiwi liqueur" + }, + { + "text": "2 parts Bitter lemon" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Mix in highball glass", + "Stirr", + "Garnish with slice of kiwi" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14456", + "alias": "kurant-tea", + "name": "Kurant Tea", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xrsrpr1441247464.jpg", + "ingredients": [ + { + "text": "4 cl Absolut Kurant" + }, + { + "text": "Turkish apple Tea" + }, + { + "text": "(if needed) Sugar" + } + ], + "steps": [ + "Pour Absolut Kurant into a comfortably big tea-cup", + "Add the not too hot(!) apple tea and, if you like, some sugar", + "Enjoy!" + ], + "categories": [ + "Coffee / Tea", + "Champagne flute", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16951", + "alias": "kioki-coffee", + "name": "Kioki Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uppqty1441247374.jpg", + "ingredients": [ + { + "text": "1 oz Kahlua" + }, + { + "text": "1/2 oz Brandy" + }, + { + "text": "Coffee" + } + ], + "steps": [ + "Stir", + "Add whipped cream to the top" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178359", + "alias": "kiwi-martini", + "name": "Kiwi Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bmxmyq1630407098.jpg", + "ingredients": [ + { + "text": "1/2 Kiwi" + }, + { + "text": "1 tsp Sugar Syrup" + }, + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "Garnish with Kiwi" + } + ], + "steps": [ + "The kiwi martini is a very fun vodka cocktail and it is one of the best drinks that makes use of fresh fruit", + "Though there are a few recipes floating around, this is one of the easiest and it is an absolutely delightful green martini to drink", + "For this recipe, you'll simply muddle slices of kiwi with simple syrup, then shake it with vodka", + "It's a drink that anyone can mix up in minutes and a perfect cocktail to show off your favorite vodka" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Green", + "Sharp" + ], + "ibaCategory": null + }, + { + "id": "15026", + "alias": "kiss-me-quick", + "name": "Kiss me Quick", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/m7iaxu1504885119.jpg", + "ingredients": [ + { + "text": "4 cl Cranberry vodka" + }, + { + "text": "2 cl Apfelkorn" + }, + { + "text": "7 cl Schweppes Russchian" + }, + { + "text": "8 cl Apple juice" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "mix in the glass" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13190", + "alias": "kool-aid-shot", + "name": "Kool-Aid Shot", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/fegm621503564966.jpg", + "ingredients": [ + { + "text": "1 shot Vodka" + }, + { + "text": "1 shot Amaretto" + }, + { + "text": "1 shot Sloe gin" + }, + { + "text": "1 shot Triple sec" + }, + { + "text": "Cranberry juice" + } + ], + "steps": [ + "Pour into a large glass with ice and stir", + "Add a little cranberry juice to taste" + ], + "categories": [ + "Shot", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17006", + "alias": "kool-first-aid", + "name": "Kool First Aid", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hfp6sv1503564824.jpg", + "ingredients": [ + { + "text": "2 oz light 151 proof rum" + }, + { + "text": "1/2 tsp Tropical Kool-Aid" + } + ], + "steps": [ + "Add Kool Aid to a double shot glass, and top with rum", + "Slam and shoot" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11602", + "alias": "kentucky-b-and-b", + "name": "Kentucky B And B", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sqxsxp1478820236.jpg", + "ingredients": [ + { + "text": "2 oz Bourbon" + }, + { + "text": "1/2 oz Benedictine" + } + ], + "steps": [ + "Pour the bourbon and Benedictine into a brandy snifter" + ], + "categories": [ + "Ordinary Drink", + "Brandy snifter", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11604", + "alias": "kentucky-colonel", + "name": "Kentucky Colonel", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/utqwpu1478820348.jpg", + "ingredients": [ + { + "text": "3 oz Bourbon" + }, + { + "text": "1/2 oz Benedictine" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes combine the courbon and Benedictine", + "Shake and strain into a cocktail glass", + "Garnish with the lemon twist" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14446", + "alias": "kool-aid-slammer", + "name": "Kool-Aid Slammer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kugu2m1504735473.jpg", + "ingredients": [ + { + "text": "1/2 oz Grape Kool-Aid" + }, + { + "text": "1/2 oz Vodka" + } + ], + "steps": [ + "Fill half the shot glass with the kool-aid first", + "Then put a paper towel over the top of the glass and slowly pour in the vodka", + "If you do it right, you should be able to see that the two liquids are separated, with the vodka on top", + "Now slam it!", + "The last thing you'll taste is the kool-aid" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12714", + "alias": "kiwi-papaya-smoothie", + "name": "Kiwi Papaya Smoothie", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jogv4w1487603571.jpg", + "ingredients": [ + { + "text": "3 Kiwi" + }, + { + "text": "1/2 Papaya" + } + ], + "steps": [ + "Throw everything into a blender and liquify" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12720", + "alias": "kill-the-cold-smoothie", + "name": "Kill the cold Smoothie", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7j1z2e1487603414.jpg", + "ingredients": [ + { + "text": "1 inch Ginger" + }, + { + "text": "1/4 Lemon" + }, + { + "text": "1 cup hot Water" + } + ], + "steps": [ + "Juice ginger and lemon and add it to hot water", + "You may add cardomom" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12704", + "alias": "limeade", + "name": "Limeade", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5jdp5r1487603680.jpg", + "ingredients": [ + { + "text": "Juice of 1 Lime" + }, + { + "text": "1 tblsp Sugar" + }, + { + "text": "(seltzer water) Soda water" + }, + { + "text": "Lime peel" + } + ], + "steps": [ + "In a large glass, put the lime juice and sugar, and stir well", + "Add cold seltzer water to fill", + "Put the lime peels in the glass", + "Drink", + "Repeat until limes or soda run out" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14378", + "alias": "lunch-box", + "name": "Lunch Box", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qywpvt1454512546.jpg", + "ingredients": [ + { + "text": "3/4 bottle Beer" + }, + { + "text": "1 shot Amaretto" + }, + { + "text": "1 oz Orange juice" + } + ], + "steps": [ + "Fill a pint glass almost full with beer", + "Then fill the rest with orange juice (careful not to fill it to the top)", + "Then take the shot of Amaretto and drop it in" + ], + "categories": [ + "Beer", + "Pint glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14366", + "alias": "lemon-drop", + "name": "Lemon Drop", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mtpxgk1504373297.jpg", + "ingredients": [ + { + "text": "1 1/2 shot Vodka" + }, + { + "text": "1 1/2 shot Cointreau" + }, + { + "text": "Juice of 1 wedge Lemon" + } + ], + "steps": [ + "Shake and strain into a chilled cocktail glass rimmed with sugar" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": null + }, + { + "id": "12752", + "alias": "lemon-shot", + "name": "Lemon Shot", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mx31hv1487602979.jpg", + "ingredients": [ + { + "text": "1/2 oz Galliano" + }, + { + "text": "1/2 oz Absolut Citron" + }, + { + "text": "wedge Lemon" + }, + { + "text": "Bacardi Sugar" + }, + { + "text": "151 proof rum" + } + ], + "steps": [ + "Mix Galliano and Absolut Citron in a shot glass, lay lemon wedge sprinkled with sugar over glass and pour a rum over wedge and glass", + "light rum with a lighter and let burn for a second", + "Do shot quickly and suck on lemon", + "If it is done correctly, this will taste like a shot of sweet lemonade" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13196", + "alias": "long-vodka", + "name": "Long vodka", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/9179i01503565212.jpg", + "ingredients": [ + { + "text": "5 cl Vodka" + }, + { + "text": "1/2 Lime" + }, + { + "text": "4 dashes Angostura bitters" + }, + { + "text": "1 dl Schweppes Tonic water" + }, + { + "text": "4 Ice" + } + ], + "steps": [ + "Shake a tall glass with ice cubes and Angostura, coating the inside of the glass", + "Por the vodka onto this, add 1 slice of lime and squeeze juice out of remainder, mix with tonic, stir and voila you have a Long Vodka" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12692", + "alias": "lassi-khara", + "name": "Lassi Khara", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/m1suzm1487603970.jpg", + "ingredients": [ + { + "text": "1 cup Yoghurt" + }, + { + "text": "2 cups cold Water" + }, + { + "text": "1 tsp Salt" + }, + { + "text": "1 pinch Asafoetida" + } + ], + "steps": [ + "Blend (frappe) in blender until frothy", + "Add torn curry leaves and serve cold" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12694", + "alias": "lassi-raita", + "name": "Lassi Raita", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/s4x0qj1487603933.jpg", + "ingredients": [ + { + "text": "2 cups Yoghurt" + }, + { + "text": "4-6 Ice" + }, + { + "text": "Sugar" + }, + { + "text": "Lime" + }, + { + "text": "Salt" + } + ], + "steps": [ + "Blend the yoghurt and ice cubes together, until the yoghurt becomes more liquid", + "Add sugar to taste", + "The lemon/lime is optional but it gives it a slightly tart taste", + "Dash of salt", + "Raita is also good for the summer", + "Instead of having a traditional salad you can make raita instead" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12702", + "alias": "lemouroudji", + "name": "Lemouroudji", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/eirmo71487603745.jpg", + "ingredients": [ + { + "text": "2 pieces Ginger" + }, + { + "text": "1 gal Water" + }, + { + "text": "1 lb Lemon" + }, + { + "text": "1 cup Sugar" + }, + { + "text": "ground Cayenne pepper" + } + ], + "steps": [ + "Juice the lemons", + "Peel and grate the ginger", + "Place the grated ginger and a liberal dash of the cayenne pepper into a piece of cheesecloth, and tie it into a knot", + "Let soak in the water", + "After 15 minutes or so, add the sugar, and the lemon juice", + "Chill, and serve" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11658", + "alias": "loch-lomond", + "name": "Loch Lomond", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rpvtpr1468923881.jpg", + "ingredients": [ + { + "text": "2 oz Scotch" + }, + { + "text": "1/2 oz Drambuie" + }, + { + "text": "1/2 oz Dry Vermouth" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine the Scotch, Drambuie, and vermouth", + "Stir well", + "Strain into a cocktail glass", + "Garnish with the lemon twist" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11662", + "alias": "london-town", + "name": "London Town", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rpsrqv1468923507.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/2 oz Maraschino liqueur" + }, + { + "text": "2 dashes Orange bitters" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine all of the ingredients", + "Stir well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12698", + "alias": "lassi-mango", + "name": "Lassi - Mango", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/1bw6sd1487603816.jpg", + "ingredients": [ + { + "text": "2 Mango" + }, + { + "text": "2 cups Yoghurt" + }, + { + "text": "1/2 cup Sugar" + }, + { + "text": "1 cup iced Water" + } + ], + "steps": [ + "Put it all in a blender and pour over crushed ice", + "You can also use other fruits like strawberries and bananas" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12696", + "alias": "lassi-sweet", + "name": "Lassi - Sweet", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/9jeifz1487603885.jpg", + "ingredients": [ + { + "text": "1 cup Yoghurt" + }, + { + "text": "2 cups cold Water" + }, + { + "text": "4 tblsp Sugar" + }, + { + "text": "pinch Salt" + }, + { + "text": "2 tblsp Lemon juice" + } + ], + "steps": [ + "Put all ingredients into a blender and blend until nice and frothy", + "Serve chilled" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15086", + "alias": "limona-corona", + "name": "Limona Corona", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wwqrsw1441248662.jpg", + "ingredients": [ + { + "text": "1 bottle Corona" + }, + { + "text": "1 oz Bacardi Limon" + } + ], + "steps": [ + "Open the Corona", + "Fill the empty space in the neck in the bottle with the rum", + "The bottle should be filled to the top", + "Plug the bottle with your thumb or the palm of your hand", + "Turn the bottle upside-down so the rum and beer mix", + "Turn the bottle rightside-up, unplug, and drink" + ], + "categories": [ + "Beer", + "Beer Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11670", + "alias": "lord-and-lady", + "name": "Lord And Lady", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/quwrys1468923219.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dark rum" + }, + { + "text": "1/2 oz Tia maria" + } + ], + "steps": [ + "Pour the rum and Tia Maria into an old-fashioned glass almost filled with ice cubes", + "Stir well" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11634", + "alias": "lady-love-fizz", + "name": "Lady Love Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/20d63k1504885263.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "2 tsp Light cream" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 Egg white" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients (except carbonated water) with ice and strain into a cocktail glass over two ice cubes", + "Fill with carbonated water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11002", + "alias": "long-island-tea", + "name": "Long Island Tea", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/nkwr4c1606770558.jpg", + "ingredients": [ + { + "text": "1/2 oz Vodka" + }, + { + "text": "1/2 oz Light rum" + }, + { + "text": "1/2 oz Gin" + }, + { + "text": "1/2 oz Tequila" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 splash Coca-Cola" + } + ], + "steps": [ + "Combine all ingredients (except cola) and pour over ice in a highball glass", + "Add the splash of cola for color", + "Decorate with a slice of lemon and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Strong", + "Asia", + "StrongFlavor", + "Brunch", + "Vegetarian", + "Sour" + ], + "ibaCategory": null + }, + { + "id": "11666", + "alias": "lone-tree-cooler", + "name": "Lone Tree Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wsyqry1479298485.jpg", + "ingredients": [ + { + "text": "Carbonated water" + }, + { + "text": "Gin" + }, + { + "text": "Dry Vermouth" + }, + { + "text": "Powdered sugar" + }, + { + "text": "Orange spiral" + }, + { + "text": "Lemon peel" + } + ], + "steps": [ + "Stir powdered sugar and 2 oz", + "carbonated water in a collins glass", + "Fill glass with ice, add gin and vermouth, and stir", + "Fill with carbonated water and stir again", + "Add the twist of lemon peel and the orange spiral so that the end dangles over rim of glass" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11664", + "alias": "lone-tree-cocktail", + "name": "Lone Tree Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tsxpty1468923417.jpg", + "ingredients": [ + { + "text": "3/4 oz Sweet Vermouth" + }, + { + "text": "1 1/2 oz Gin" + } + ], + "steps": [ + "Stir ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178335", + "alias": "lazy-coconut-paloma", + "name": "Lazy Coconut Paloma", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rytuex1598719770.jpg", + "ingredients": [ + { + "text": "30 ml Coconut Liqueur" + }, + { + "text": "75 ml Grapefruit Juice" + }, + { + "text": "Top Soda Water" + } + ], + "steps": [ + "Mix the coconut liqueur (preferably tequila) with the grapefruit juice and top with soda water", + "Garnish with a large grapefruit slice against the inside of the glass" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Lazy", + "Sharp" + ], + "ibaCategory": null + }, + { + "id": "17204", + "alias": "long-island-iced-tea", + "name": "Long Island Iced Tea", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wx7hsg1504370510.jpg", + "ingredients": [ + { + "text": "1/2 oz Vodka" + }, + { + "text": "1/2 oz Tequila" + }, + { + "text": "1/2 oz Light rum" + }, + { + "text": "1/2 oz Gin" + }, + { + "text": "1 dash Coca-Cola" + }, + { + "text": "Twist of Lemon peel" + } + ], + "steps": [ + "Mix all contents in a highball glass and sitr gently", + "Add dash of Coca-Cola for the coloring and garnish with lemon or lime twist" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "178360", + "alias": "lemon-elderflower-spritzer", + "name": "Lemon Elderflower Spritzer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/125w0o1630407389.jpg", + "ingredients": [ + { + "text": "2 tsp Elderflower cordial" + }, + { + "text": "1 shot Vodka" + }, + { + "text": "1/3 cup Soda Water" + }, + { + "text": "Top Fresh Lemon Juice" + } + ], + "steps": [ + "Pour all ingredients over ice, stir and enjoy!" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Summer", + "Fresh", + "Refreshing" + ], + "ibaCategory": null + }, + { + "id": "12690", + "alias": "lassi-a-south-indian-drink", + "name": "Lassi - A South Indian Drink", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/iq6scx1487603980.jpg", + "ingredients": [ + { + "text": "1/2 cup plain Yoghurt" + }, + { + "text": "1 1/4 cup cold Water" + }, + { + "text": "1/2 tsp ground roasted Cumin seed" + }, + { + "text": "1/4 tsp Salt" + }, + { + "text": "1/4 tsp dried Mint" + } + ], + "steps": [ + "Blend in a blender for 3 seconds", + "Lassi is one of the easiest things to make, and there are many ways of making it", + "Basically, it is buttermilk (yoghurt whisked with water), and you can choose almost any consistency that you like, from the thinnest to the thickest", + "Serve cold" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12776", + "alias": "melya", + "name": "Melya", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xwtptq1441247579.jpg", + "ingredients": [ + { + "text": "Espresso" + }, + { + "text": "Unsweetened Honey" + }, + { + "text": "Cocoa powder" + } + ], + "steps": [ + "Brew espresso", + "In a coffee mug, place 1 teaspoon of unsweetened powdered cocoa, then cover a teaspoon with honey and drizzle it into the cup", + "Stir while the coffee brews, this is the fun part", + "The cocoa seems to coat the honey without mixing, so you get a dusty, sticky mass that looks as though it will never mix", + "Then all at once, presto!", + "It looks like dark chocolate sauce", + "Pour hot espresso over the honey, stirring to dissolve", + "Serve with cream" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11000", + "alias": "mojito", + "name": "Mojito", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/metwgh1606770327.jpg", + "ingredients": [ + { + "text": "2-3 oz Light rum" + }, + { + "text": "Juice of 1 Lime" + }, + { + "text": "2 tsp Sugar" + }, + { + "text": "2-4 Mint" + }, + { + "text": "Soda water" + } + ], + "steps": [ + "Muddle mint leaves with sugar and lime juice", + "Add a splash of soda water and fill the glass with cracked ice", + "Pour the rum and top with soda water", + "Garnish and serve with straw" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic", + "Alcoholic", + "USA", + "Asia", + "Vegan", + "Citrus", + "Brunch", + "Hangover", + "Mild" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "17205", + "alias": "mimosa", + "name": "Mimosa", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/juhcuu1504370685.jpg", + "ingredients": [ + { + "text": "Chilled Champagne" + }, + { + "text": "2 oz Orange juice" + } + ], + "steps": [ + "Ensure both ingredients are well chilled, then mix into the glass", + "Serve cold" + ], + "categories": [ + "Ordinary Drink", + "Champagne flute", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "11690", + "alias": "mai-tai", + "name": "Mai Tai", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/twyrrp1439907470.jpg", + "ingredients": [ + { + "text": "1 oz Light rum" + }, + { + "text": "1/2 oz Orgeat syrup" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1 1/2 oz Sweet and sour" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Shake all ingredients with ice", + "Strain into glass", + "Garnish and serve with straw" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "11728", + "alias": "martini", + "name": "Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/71t8581504353095.jpg", + "ingredients": [ + { + "text": "1 2/3 oz Gin" + }, + { + "text": "1/3 oz Dry Vermouth" + }, + { + "text": "1 Olive" + } + ], + "steps": [ + "Straight: Pour all ingredients into mixing glass with ice cubes", + "Stir well", + "Strain in chilled martini cocktail glass", + "Squeeze oil from lemon peel onto the drink, or garnish with olive" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": "Unforgettables" + }, + { + "id": "178343", + "alias": "michelada", + "name": "Michelada", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/u736bd1605907086.jpg", + "ingredients": [ + { + "text": "4 oz Beer" + }, + { + "text": "4 oz Tomato Juice" + }, + { + "text": "1 tblsp Lime Juice" + }, + { + "text": "Dash Hot Sauce" + }, + { + "text": "Dash Worcestershire Sauce" + }, + { + "text": "Dash Soy Sauce" + } + ], + "steps": [ + "Mix the beer with tomato juice, freshly squeezed lime juice, and Worcestershire sauce, teriyaki sauce, soy sauce, or hot sauce", + "Served In a chilled, salt-rimmed glass" + ], + "categories": [ + "Cocktail", + "Pint glass", + "Alcoholic" + ], + "tags": [ + "Hangover", + "StrongFlavor", + "Breakfast" + ], + "ibaCategory": null + }, + { + "id": "11008", + "alias": "manhattan", + "name": "Manhattan", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yk70e31606771240.jpg", + "ingredients": [ + { + "text": "3/4 oz Sweet Vermouth" + }, + { + "text": "2 1/2 oz Blended Bourbon" + }, + { + "text": "dash Angostura bitters" + }, + { + "text": "2 or 3 Ice" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 twist of Orange peel" + } + ], + "steps": [ + "Stirred over ice, strained into a chilled glass, garnished, and served up" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Alcoholic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11007", + "alias": "margarita", + "name": "Margarita", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5noda61589575158.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Tequila" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1 oz Lime juice" + }, + { + "text": "Salt" + } + ], + "steps": [ + "Rub the rim of the glass with the lime slice to make the salt stick to it", + "Take care to moisten only the outer rim and sprinkle the salt on it", + "The salt should present to the lips of the imbiber and never mix into the cocktail", + "Shake the other ingredients with ice, then carefully pour into the glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "178370", + "alias": "mauresque", + "name": "Mauresque", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/duwfa11686236556.jpg", + "ingredients": [ + { + "text": "3 cl Ricard" + }, + { + "text": "1 cl Orgeat Syrup" + }, + { + "text": "Full Glass Water" + } + ], + "steps": [ + "1 - Pour the Ricard (or pastis)\n2 - Pour the orgeat syrup\n3 - Finally pour the water and add ice cubes at your convenience", + "Add the ice cubes at the end, otherwise the syrup and pastis do not mix well" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17206", + "alias": "mint-julep", + "name": "Mint Julep", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/squyyq1439907312.jpg", + "ingredients": [ + { + "text": "4 fresh Mint" + }, + { + "text": "2 1/2 oz Bourbon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "2 tsp Water" + } + ], + "steps": [ + "In a highball glass gently muddle the mint, sugar and water", + "Fill the glass with cracked ice, add Bourbon and stir well until the glass is well frosted", + "Garnish with a mint sprig" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": null + }, + { + "id": "16041", + "alias": "mudslinger", + "name": "Mudslinger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hepk6h1504885554.jpg", + "ingredients": [ + { + "text": "750 ml Southern Comfort" + }, + { + "text": "1 L Orange juice" + }, + { + "text": "750 ml Pepsi Cola" + } + ], + "steps": [ + "Add all contents to a large jug or punch bowl", + "Stir well!" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17256", + "alias": "martinez-2", + "name": "Martinez 2", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/fs6kiq1513708455.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 1/2 oz Sweet Vermouth" + }, + { + "text": "1 tsp Maraschino Liqueur" + }, + { + "text": "2 dashes Angostura Bitters" + } + ], + "steps": [ + "Add all ingredients to a mixing glass and fill with ice", + "Stir until chilled, and strain into a chilled coupe glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16196", + "alias": "moranguito", + "name": "Moranguito", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/urpsyq1475667335.jpg", + "ingredients": [ + { + "text": "2/5 Absinthe" + }, + { + "text": "2/5 Tequila" + }, + { + "text": "1/5 Grenadine" + } + ], + "steps": [ + "first you put rhe absinthe, then put tequila, then put the Granadine syrup" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13936", + "alias": "miami-vice", + "name": "Miami Vice", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qvuyqw1441208955.jpg", + "ingredients": [ + { + "text": "5 oz Bacardi 151 proof rum" + }, + { + "text": "frozen Pina colada mix" + }, + { + "text": "frozen Daiquiri mix" + } + ], + "steps": [ + "First: Mix pina colada with 2.5 oz", + "of rum with ice(set aside)", + "Second: Mix daiquiri with 2.5 oz", + "of rum with ice", + "Third: While frozen, add pina colda mix then daiquiri mix in glass (Making sure they do not get mixed together)" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA" + ], + "ibaCategory": null + }, + { + "id": "11009", + "alias": "moscow-mule", + "name": "Moscow Mule", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3pylqc1504370988.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "2 oz Lime juice" + }, + { + "text": "8 oz Ginger ale" + } + ], + "steps": [ + "Combine vodka and ginger beer in a highball glass filled with ice", + "Add lime juice", + "Stir gently", + "Garnish" + ], + "categories": [ + "Punch / Party Drink", + "Copper Mug", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "12988", + "alias": "mulled-wine", + "name": "Mulled Wine", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/iuwi6h1504735724.jpg", + "ingredients": [ + { + "text": "3 cups Water" + }, + { + "text": "1 cup Sugar" + }, + { + "text": "12 Cloves" + }, + { + "text": "2 Cinnamon" + }, + { + "text": "1 Lemon peel" + }, + { + "text": "750 ml Red wine" + }, + { + "text": "1/4 cup Brandy" + } + ], + "steps": [ + "Simmer 3 cups water with, sugar, cloves, cinnamon sticks, and lemon peel in a stainless steel pot for 10 minutes", + "Add wine heat to a \"coffee temperature\" (DO NOT BOIL) then add the brandy" + ], + "categories": [ + "Punch / Party Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [ + "Christmas" + ], + "ibaCategory": null + }, + { + "id": "12774", + "alias": "masala-chai", + "name": "Masala Chai", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uyrpww1441246384.jpg", + "ingredients": [ + { + "text": "2 cups Water" + }, + { + "text": "3-4 tsp Tea" + }, + { + "text": "1 chunk dried Ginger" + }, + { + "text": "3-4 crushed Cardamom" + }, + { + "text": "3 Cloves" + }, + { + "text": "1 piece Cinnamon" + }, + { + "text": "1-2 whole Black pepper" + }, + { + "text": "to taste Sugar" + }, + { + "text": "to taste Milk" + } + ], + "steps": [ + "Bring 2 cups of water to boil", + "Add all the ingredients and boil again for about 15 seconds", + "Let stand for a minute", + "Warm milk in a pot", + "Filter tea into cups", + "Add milk and sugar", + "That's IT" + ], + "categories": [ + "Coffee / Tea", + "Coffee Mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178315", + "alias": "munich-mule", + "name": "Munich Mule", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rj55pl1582476101.jpg", + "ingredients": [ + { + "text": "5 cl Gin" + }, + { + "text": "2 cl Lime Juice" + }, + { + "text": "10 cl Ginger Beer" + }, + { + "text": "Chopped Cucumber" + }, + { + "text": "Chopped lemon" + } + ], + "steps": [ + "Fill glass with ice\r\nPour Gin and Lime Juice\r\nFill glass with Ginger Beer\r\nGarnish with Cucumer and Lime slice" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "German" + ], + "ibaCategory": null + }, + { + "id": "14209", + "alias": "mocha-berry", + "name": "Mocha-Berry", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vtwyyx1441246448.jpg", + "ingredients": [ + { + "text": "6 oz Coffee" + }, + { + "text": "2 oz Chambord raspberry liqueur" + }, + { + "text": "2 tblsp Cocoa powder" + }, + { + "text": "Whipped cream" + } + ], + "steps": [ + "pour 6 oz", + "of coffee in a mug or Irish coffee cup", + "add coca mix and chambord, mix well and top off with whipped cream" + ], + "categories": [ + "Coffee / Tea", + "Irish coffee cup", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178358", + "alias": "mango-mojito", + "name": "Mango Mojito", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wfqmgm1630406820.jpg", + "ingredients": [ + { + "text": "3 Lime" + }, + { + "text": "1 Fresh Mango" + }, + { + "text": "Sprig Mint" + }, + { + "text": "200 ml White Rum" + }, + { + "text": "cubes Ice" + }, + { + "text": "Top Soda Water" + }, + { + "text": "Garnish with Mango" + } + ], + "steps": [ + "Squeeze the juice from 1½ limes and blend with the mango to give a smooth purée", + "Cut the rest of the limes into quarters, and then cut each wedge in half again", + "Put 2 pieces of lime in a highball glass for each person and add 1 teaspoon of caster sugar and 5-6 mint leaves to each glass", + "Squish everything together with a muddler or the end of a rolling pin to release all the flavours from the lime and mint", + "Divide the mango purée between the glasses and add 30ml white rum and a handful of crushed ice to each one, stirring well to mix everything together", + "Top up with soda water to serve and garnish with extra mint, if you like" + ], + "categories": [ + "Cocktail", + "Jar", + "Alcoholic" + ], + "tags": [ + "Fruity" + ], + "ibaCategory": null + }, + { + "id": "15841", + "alias": "mojito-extra", + "name": "Mojito Extra", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vwxrsw1478251483.jpg", + "ingredients": [ + { + "text": "1/2 handful Mint" + }, + { + "text": "3 cl Lemon juice" + }, + { + "text": "1/8 L Jamaican Dark rum" + }, + { + "text": "1/8 L Club soda" + }, + { + "text": "8 drops Angostura bitters" + } + ], + "steps": [ + "Put mint with lemon juice in a glas, mash the mint with a spoon, ice, rum & fill up with club soda", + "Top it with Angostura" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17189", + "alias": "monkey-gland", + "name": "Monkey Gland", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/94psp81504350690.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 tsp Benedictine" + }, + { + "text": "1/2 oz Orange juice" + }, + { + "text": "1 tsp Grenadine" + } + ], + "steps": [ + "Shake well over ice cubes in a shaker, strain into a chilled cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "14842", + "alias": "midnight-mint", + "name": "Midnight Mint", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/svuvrq1441208310.jpg", + "ingredients": [ + { + "text": "1 oz Baileys irish cream" + }, + { + "text": "3/4 oz White Creme de Menthe" + }, + { + "text": "3/4 oz double Cream" + } + ], + "steps": [ + "If available, rim cocktail (Martini) glass with sugar syrup then dip into chocolate flakes or powder", + "Add ingredients into shaker with ice", + "Shake well then strain into cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17188", + "alias": "mary-pickford", + "name": "Mary Pickford", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/f9erqb1504350557.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "1 oz Pineapple juice" + }, + { + "text": "1/2 tsp Maraschino liqueur" + }, + { + "text": "1/2 tsp Grenadine" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "Shake and strain into a chilled large cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11798", + "alias": "monkey-wrench", + "name": "Monkey Wrench", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bw2noj1582473243.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "3 oz Grapefruit juice" + }, + { + "text": "1 dash Bitters" + } + ], + "steps": [ + "Pour all of the ingredients into an old-fashioned glass almost filled with ice cubes", + "Stir well" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11003", + "alias": "negroni", + "name": "Negroni", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qgdu971561574065.jpg", + "ingredients": [ + { + "text": "1 oz Gin" + }, + { + "text": "1 oz Campari" + }, + { + "text": "1 oz Sweet Vermouth" + } + ], + "steps": [ + "Stir into glass over ice, garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11844", + "alias": "new-york-sour", + "name": "New York Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/61wgch1504882795.jpg", + "ingredients": [ + { + "text": "2 oz Blended whiskey" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Sugar" + }, + { + "text": "(Claret) Red wine" + }, + { + "text": "Lemon" + }, + { + "text": "Cherry" + } + ], + "steps": [ + "Shake blended whiskey, juice of lemon, and powdered sugar with ice and strain into a whiskey sour glass", + "Float claret on top", + "Decorate with the half-slice of lemon and the cherry and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13861", + "alias": "nutty-irishman", + "name": "Nutty Irishman", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xspupx1441248014.jpg", + "ingredients": [ + { + "text": "1 part Baileys irish cream" + }, + { + "text": "1 part Frangelico" + }, + { + "text": "1 part Milk" + } + ], + "steps": [ + "Serve over ice" + ], + "categories": [ + "Shake", + "Highball Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13192", + "alias": "national-aquarium", + "name": "National Aquarium", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/dlw0om1503565021.jpg", + "ingredients": [ + { + "text": "1/2 oz Rum" + }, + { + "text": "1/2 oz Vodka" + }, + { + "text": "1/2 oz Gin" + }, + { + "text": "1/2 oz Blue Curacao" + }, + { + "text": "2 oz Sour mix" + }, + { + "text": "1 splash Lemon-lime soda" + } + ], + "steps": [ + "Pour all ingredients into a shaker of ice", + "Shake well", + "Serve on the rocks" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13204", + "alias": "new-york-lemonade", + "name": "New York Lemonade", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/b3n0ge1503565473.jpg", + "ingredients": [ + { + "text": "2 oz Absolut Citron" + }, + { + "text": "1 oz Grand Marnier" + }, + { + "text": "2 oz sweetened Lemon juice" + }, + { + "text": "1 oz Club soda" + } + ], + "steps": [ + "Serve in a chilled cocktail glass", + "Lemon and sugar the rim", + "Stir and Strain" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12746", + "alias": "nuked-hot-chocolate", + "name": "Nuked Hot Chocolate", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xcu6nb1487603142.jpg", + "ingredients": [ + { + "text": "2 tsp Cocoa powder" + }, + { + "text": "1 tsp Sugar" + }, + { + "text": "1/2 tsp Vanilla extract" + }, + { + "text": "12 oz Milk" + } + ], + "steps": [ + "Mix with a bit of milk (1 oz or so) in coffee mug", + "Nuke mug for about 30-50 seconds", + "Stir until the heated cocoa dissolves", + "Fill mug with milk", + "Nuke for 1-2 minutes, depending on wattage and preferences as to burnt mouth parts" + ], + "categories": [ + "Cocoa", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11872", + "alias": "orgasm", + "name": "Orgasm", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vr6kle1504886114.jpg", + "ingredients": [ + { + "text": "1/2 oz white Creme de Cacao" + }, + { + "text": "1/2 oz Amaretto" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1/2 oz Vodka" + }, + { + "text": "1 oz Light cream" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a chilled cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17827", + "alias": "old-pal", + "name": "Old Pal", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/x03td31521761009.jpg", + "ingredients": [ + { + "text": "2 oz Rye whiskey" + }, + { + "text": "1 oz Campari" + }, + { + "text": "1 oz Dry Vermouth" + } + ], + "steps": [ + "Chill cocktail glass", + "Add ingredients to a mixing glass, and fill 2/3 full with ice", + "Stir about 20 seconds", + "Empty cocktail glass and strain into the glass", + "Garnish with a twist of lemon peel" + ], + "categories": [ + "Cocktail", + "Nick and Nora Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178371", + "alias": "old-cuban", + "name": "Old Cuban", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/eo8gfx1699022995.jpg", + "ingredients": [ + { + "text": "2 oz White Rum" + }, + { + "text": "1 oz Sugar Syrup" + }, + { + "text": "1 oz Lime Juice" + }, + { + "text": "2 dashes Angostura Bitters" + }, + { + "text": "2 oz Prosecco" + } + ], + "steps": [ + "Shake a handful of mint, 2oz white rum, 1oz of sugar syrup, 1oz lime juice and 2 dashes angostura bitters with ice", + "Double strain into a glass and top with 2oz of prosecco" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12618", + "alias": "orangeade", + "name": "Orangeade", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ytsxxw1441167732.jpg", + "ingredients": [ + { + "text": "5 cl Lemon juice" + }, + { + "text": "15 cl Orange juice" + }, + { + "text": "2-3 cl Sugar syrup" + }, + { + "text": "Soda water" + } + ], + "steps": [ + "Place some ice cubes in a large tumbler or highball glass, add lemon juice, orange juice, sugar syrup, and stir well", + "Top up with cold soda water, serve with a drinking straw" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16995", + "alias": "orange-whip", + "name": "Orange Whip", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ttyrxr1454514759.jpg", + "ingredients": [ + { + "text": "4 oz Orange juice" + }, + { + "text": "1 oz Rum" + }, + { + "text": "1 oz Vodka" + }, + { + "text": "1 package Cream" + }, + { + "text": "Over Ice" + } + ], + "steps": [ + "Pour ingredients over ice and stir" + ], + "categories": [ + "Other / Unknown", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15330", + "alias": "orange-crush", + "name": "Orange Crush", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/zvoics1504885926.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 oz Orange juice" + } + ], + "steps": [ + "Add all ingredients to tumbler-Pour as shot" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11870", + "alias": "orange-oasis", + "name": "Orange Oasis", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/su1olx1582473812.jpg", + "ingredients": [ + { + "text": "1/2 oz Cherry brandy" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "4 oz Orange juice" + }, + { + "text": "Ginger ale" + } + ], + "steps": [ + "Shake brandy, gin, and orange juice with ice and strain into a highball glass over ice cubes", + "Fill with ginger ale, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11001", + "alias": "old-fashioned", + "name": "Old Fashioned", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vrwquq1478252802.jpg", + "ingredients": [ + { + "text": "4.5 cL Bourbon" + }, + { + "text": "2 dashes Angostura bitters" + }, + { + "text": "1 cube Sugar" + }, + { + "text": "dash Water" + } + ], + "steps": [ + "Place sugar cube in old fashioned glass and saturate with bitters, add a dash of plain water", + "Muddle until dissolved", + "Fill the glass with ice cubes and add whiskey", + "Garnish with orange twist, and a cocktail cherry" + ], + "categories": [ + "Cocktail", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Alcoholic", + "Expensive", + "Savory" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "13499", + "alias": "oreo-mudslide", + "name": "Oreo Mudslide", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tpwwut1468925017.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Kahlua" + }, + { + "text": "1 oz Baileys irish cream" + }, + { + "text": "2 scoops Vanilla ice-cream" + }, + { + "text": "1 Oreo cookie" + } + ], + "steps": [ + "Blend Vodka, Kahlua, Bailey's, ice-cream and the Oreo well in a blender", + "Pour into a large frosted glass", + "Garnish with whipped cream and a cherry" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17266", + "alias": "oatmeal-cookie", + "name": "Oatmeal Cookie", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bsvmlg1515792693.jpg", + "ingredients": [ + { + "text": "2 parts Kahlua" + }, + { + "text": "2 parts Baileys irish cream" + }, + { + "text": "4 parts Butterscotch schnapps" + }, + { + "text": "1 part Jagermeister" + }, + { + "text": "1/2 part Goldschlager" + } + ], + "steps": [ + "Just mix it all together", + "It's meant to be a shot, but it works just fine as a proper adult-sized drink over lots of ice", + "Tastes like an oatmeal cookie" + ], + "categories": [ + "Cocktail", + "Mason jar", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14586", + "alias": "orange-push-up", + "name": "Orange Push-up", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mgf0y91503565781.jpg", + "ingredients": [ + { + "text": "1.5 oz Spiced rum" + }, + { + "text": "0.5 oz Grenadine" + }, + { + "text": "4 oz Orange juice" + }, + { + "text": "1 splash Sour mix" + } + ], + "steps": [ + "Combine liquors in a blender", + "Add a half scoop of ice and blend", + "Garnish with an orange and cherry flag", + "So good it will melt in your mouth!!!" + ], + "categories": [ + "Ordinary Drink", + "Hurricane glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178341", + "alias": "orange-rosemary-collins", + "name": "Orange Rosemary Collins", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mokcas1604179977.jpg", + "ingredients": [ + { + "text": "1 shot Gin" + }, + { + "text": "Top Orange Juice" + }, + { + "text": "Top Lemon Juice" + }, + { + "text": "25 ml Rosemary Syrup" + }, + { + "text": "Top Soda Water" + }, + { + "text": "Garnish with Rosemary" + }, + { + "text": "Garnish with Orange Peel" + } + ], + "steps": [ + "Add the spirits to the bottom of the glass and top equally with the mixer drinks", + "Garnish with orange slices inside the glass as well as some rosemary on top" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Citrus" + ], + "ibaCategory": null + }, + { + "id": "12748", + "alias": "orange-scented-hot-chocolate", + "name": "Orange Scented Hot Chocolate", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hdzwrh1487603131.jpg", + "ingredients": [ + { + "text": "2 cups Milk" + }, + { + "text": "4 oz chopped bittersweet or semi-sweet Chocolate" + }, + { + "text": "3 2-inch strips Orange peel" + }, + { + "text": "1/2 tsp instant Espresso" + }, + { + "text": "1/8 tsp ground Nutmeg" + } + ], + "steps": [ + "Combine all ingredients in heavy medium saucepan", + "Stir over low heat until chocolate melts", + "Increase heat and bring just to a boil, stirring often", + "Remove from heat and whisk untily frothy", + "Return to heat and bring to boil again", + "Remove from heat, whisk until frothy", + "Repeat heating and whisking once again", + "Discard orange peel", + "(Can be prepared 2 hours ahead", + "Let stand at room temperature", + "Before serving, bring just to boil, remove from heat and whisk until frothy.) Pour hot chocolate into coffee mugs", + "Makes 2 servings" + ], + "categories": [ + "Cocoa", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13200", + "alias": "owens-grandmothers-revenge", + "name": "Owen's Grandmother's Revenge", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0wt4uo1503565321.jpg", + "ingredients": [ + { + "text": "12 oz Whiskey" + }, + { + "text": "12 oz Beer" + }, + { + "text": "12 oz frozen Lemonade" + }, + { + "text": "1 cup crushed Ice" + } + ], + "steps": [ + "Add ingredients and mix in blender" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17253", + "alias": "paloma", + "name": "Paloma", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/samm5j1513706393.jpg", + "ingredients": [ + { + "text": "3 oz Grape Soda" + }, + { + "text": "1 1/2 oz Tequila" + } + ], + "steps": [ + "Stir together and serve over ice" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17190", + "alias": "paradise", + "name": "Paradise", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ejozd71504351060.jpg", + "ingredients": [ + { + "text": "7 parts Gin" + }, + { + "text": "4 parts Apricot Brandy" + }, + { + "text": "3 parts Orange Juice" + } + ], + "steps": [ + "Shake together over ice", + "Strain into cocktail glass and serve chilled" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11936", + "alias": "pink-gin", + "name": "Pink Gin", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qyr51e1504888618.jpg", + "ingredients": [ + { + "text": "3 dashes Bitters" + }, + { + "text": "2 oz Gin" + } + ], + "steps": [ + "Pour the bitters into a wine glass", + "Swirl the glass to coat the inside with the bitters, shake out the excess", + "Pour the gin into the glass", + "Do not add ice" + ], + "categories": [ + "Ordinary Drink", + "White wine glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17249", + "alias": "pegu-club", + "name": "Pegu Club", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jfkemm1513703902.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "3/4 oz Orange Curacao" + }, + { + "text": "3/4 oz Lime Juice" + }, + { + "text": "1 dash Angostura Bitters" + }, + { + "text": "1 dash Orange Bitters" + } + ], + "steps": [ + "Shake, strain, up, cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11938", + "alias": "pink-lady", + "name": "Pink Lady", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5ia6j21504887829.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "1 tsp Light cream" + }, + { + "text": "1 Egg white" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178354", + "alias": "pink-moon", + "name": "Pink Moon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/lnjoc81619696191.jpg", + "ingredients": [ + { + "text": "1 shot Gin" + }, + { + "text": "1 shot Coconut Liqueur" + }, + { + "text": "25 ml Elderflower cordial" + }, + { + "text": "30 ml Lime Juice" + }, + { + "text": "Garnish with Blackberries" + } + ], + "steps": [ + "Slowly shake in a shaker with ice, strain into a square whiskey glass", + "Top with fresh ice", + "Add the blackberries to garnish", + "Add flowers and a green leaf for a special look!" + ], + "categories": [ + "Cocktail", + "Whiskey Glass", + "Alcoholic" + ], + "tags": [ + "Fresh", + "Summer", + "Colourful", + "Nature" + ], + "ibaCategory": null + }, + { + "id": "17829", + "alias": "penicillin", + "name": "Penicillin", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hc9b1a1521853096.jpg", + "ingredients": [ + { + "text": "2 oz Blended Scotch" + }, + { + "text": "3/4 oz Lemon Juice" + }, + { + "text": "2 tsp Honey syrup" + }, + { + "text": "2 tsp Ginger Syrup" + }, + { + "text": "1/4 oz Islay single malt Scotch" + } + ], + "steps": [ + "Shake blended Scotch, lemon juice, honey syrup and ginger syrup with ice", + "Strain over large ice in chilled rocks glass", + "Float smoky Scotch on top (be sure to use a smoky Scotch such as an Islay single malt)", + "Garnish with candied ginger" + ], + "categories": [ + "Cocktail", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13214", + "alias": "pisco-sour", + "name": "Pisco Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tsssur1439907622.jpg", + "ingredients": [ + { + "text": "2 oz Pisco" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1-2 tblsp Sugar" + }, + { + "text": "1 Ice" + }, + { + "text": "Egg White" + } + ], + "steps": [ + "Vigorously shake and strain contents in a cocktail shaker with ice cubes, then pour into glass and garnish with bitters" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "17192", + "alias": "porto-flip", + "name": "Porto flip", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/64x5j41504351518.jpg", + "ingredients": [ + { + "text": "3 parts Brandy" + }, + { + "text": "9 parts Port" + }, + { + "text": "2 parts Egg Yolk" + } + ], + "steps": [ + "Shake ingredients together in a mixer with ice", + "Strain into glass, garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "17207", + "alias": "pina-colada", + "name": "Pina Colada", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/upgsue1668419912.jpg", + "ingredients": [ + { + "text": "3 oz Light rum" + }, + { + "text": "3 tblsp Coconut milk" + }, + { + "text": "3 tblsp Pineapple" + } + ], + "steps": [ + "Mix with crushed ice in blender until smooth", + "Pour into chilled glass, garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "16992", + "alias": "pink-penocha", + "name": "Pink Penocha", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6vigjx1503564007.jpg", + "ingredients": [ + { + "text": "750 ml Everclear" + }, + { + "text": "1750 ml Vodka" + }, + { + "text": "1750 ml Peach schnapps" + }, + { + "text": "1 gal Orange juice" + }, + { + "text": "1 gal Cranberry juice" + } + ], + "steps": [ + "mix all ingredients into bowl keep iced stir frequently" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178338", + "alias": "pure-passion", + "name": "Pure Passion", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/4tymma1604179273.jpg", + "ingredients": [ + { + "text": "40 ml Rum" + }, + { + "text": "20 ml Passoa" + }, + { + "text": "30 ml Lime Juice" + }, + { + "text": "15 ml Passion fruit syrup" + }, + { + "text": "Dash Peach Bitters" + }, + { + "text": "Garnish with Mint" + } + ], + "steps": [ + "Mix up all ingredients with a cocktail stirrer and serve with crushed ice with mint and edible flour if available" + ], + "categories": [ + "Cocktail", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [ + "Passion" + ], + "ibaCategory": null + }, + { + "id": "13072", + "alias": "popped-cherry", + "name": "Popped cherry", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sxvrwv1473344825.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "2 oz Cherry liqueur" + }, + { + "text": "4 oz Cranberry juice" + }, + { + "text": "4 oz Orange juice" + } + ], + "steps": [ + "Served over ice in a tall glass with a popped cherry (can add more popped cherries if in the mood)!" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11959", + "alias": "poppy-cocktail", + "name": "Poppy Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/cslw1w1504389915.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "3/4 oz white Creme de Cacao" + } + ], + "steps": [ + "Shake ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11965", + "alias": "port-wine-flip", + "name": "Port Wine Flip", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vrprxu1441553844.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Port" + }, + { + "text": "2 tsp Light cream" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 whole Egg" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Shake all ingredients (except nutmeg) with ice and strain into a whiskey sour glass", + "Sprinkle nutmeg on top and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17191", + "alias": "planters-punch", + "name": "Planter's Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/fdk8a31606854815.jpg", + "ingredients": [ + { + "text": "1 part Dark rum" + }, + { + "text": "1/2 part Orgeat syrup" + }, + { + "text": "2 parts Orange juice" + }, + { + "text": "1 part Pineapple juice" + } + ], + "steps": [ + "Pour all ingredients, except the bitters, into shaker filled with ice", + "Shake well", + "Pour into large glass, filled with ice", + "Add Angostura bitters, \"on top\"", + "Garnish with cocktail cherry and pineapple" + ], + "categories": [ + "Punch / Party Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "178327", + "alias": "pineapple-paloma", + "name": "Pineapple Paloma", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pg8iw31593351601.jpg", + "ingredients": [ + { + "text": "4 oz Tequila" + }, + { + "text": "4 oz Grapefruit Juice" + }, + { + "text": "1 oz Fresh Lime Juice" + }, + { + "text": "8 oz Pineapple Juice" + }, + { + "text": "Garnish with Lime" + }, + { + "text": "Rimmed Pepper" + } + ], + "steps": [ + "Rub the rim of each glass with lime slice and dip into salt", + "Add ice, tequila, grapefruit juice, lime juice and top with pineapple soda", + "Give it a quick stir", + "Garnish with fresh pineapple or lime" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178357", + "alias": "pornstar-martini", + "name": "Pornstar Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xjhjdf1630406071.jpg", + "ingredients": [ + { + "text": "3 cl Vodka" + }, + { + "text": "3 cl Passoa" + }, + { + "text": "1 cl Passion fruit juice" + }, + { + "text": "1 cl Lime" + }, + { + "text": "1 shot Prosecco" + } + ], + "steps": [ + "Straight: Pour all ingredients into mixing glass with ice cubes", + "Shake well", + "Strain in chilled martini cocktail glass", + "Cut passion fruit in half and use as garnish", + "Pour prosecco into a chilled shot glass and serve alongside the martini" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Adult", + "Shot", + "Bubbly" + ], + "ibaCategory": null + }, + { + "id": "178368", + "alias": "planters-punch-178368", + "name": "Planter’s Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jn6o251643844541.jpg", + "ingredients": [ + { + "text": "4.5 cL Dark Rum" + }, + { + "text": "3 cl Orange Juice" + }, + { + "text": "3.5 cl Pineapple Juice" + }, + { + "text": "1 cl Grenadine" + }, + { + "text": "1 cl Sugar Syrup" + }, + { + "text": "4 drops Angostura Bitters" + } + ], + "steps": [ + "Squeeze an orange and strain the juice", + "Put all the ingredients in a shaker filled with ice and shake for at least 12 seconds", + "Strain into a highball glass and decorate with a pineapple wedge or fruit of your choice" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11961", + "alias": "port-and-starboard", + "name": "Port And Starboard", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wxvupx1441553911.jpg", + "ingredients": [ + { + "text": "1 tblsp Grenadine" + }, + { + "text": "1/2 oz Green Creme de Menthe" + } + ], + "steps": [ + "Pour carefully into a pousse-cafe glass, so that creme de menthe floats on grenadine", + "Serve without mixing" + ], + "categories": [ + "Ordinary Drink", + "Pousse cafe glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11963", + "alias": "port-wine-cocktail", + "name": "Port Wine Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qruprq1441553976.jpg", + "ingredients": [ + { + "text": "2 1/2 oz Port" + }, + { + "text": "1/2 tsp Brandy" + } + ], + "steps": [ + "Stir ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15092", + "alias": "pysch-vitamin-light", + "name": "Pysch Vitamin Light", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xsqsxw1441553580.jpg", + "ingredients": [ + { + "text": "1 part Orange juice" + }, + { + "text": "1 part Apple juice" + }, + { + "text": "1 part Pineapple juice" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Shake with ice" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13535", + "alias": "pink-panty-pulldowns", + "name": "Pink Panty Pulldowns", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/squsuy1468926657.jpg", + "ingredients": [ + { + "text": "1 L Sprite" + }, + { + "text": "2 cups Pink lemonade" + }, + { + "text": "2 cups Vodka" + } + ], + "steps": [ + "Shake well" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178323", + "alias": "passion-fruit-martini", + "name": "Passion Fruit Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6trfve1582473527.jpg", + "ingredients": [ + { + "text": "1 shot Vodka" + }, + { + "text": "1/2 shot Sugar Syrup" + }, + { + "text": "Full Glass Passion fruit juice" + } + ], + "steps": [ + "Pour all ingredients into a glass and stir", + "Garnish with half a passion fruit piece" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12718", + "alias": "pineapple-gingerale-smoothie", + "name": "Pineapple Gingerale Smoothie", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/eg9i1d1487603469.jpg", + "ingredients": [ + { + "text": "1/4 inch Ginger" + }, + { + "text": "1/2 Pineapple" + } + ], + "steps": [ + "Throw everything into a blender and liquify" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11993", + "alias": "quentin", + "name": "Quentin", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/spxtqp1478963398.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dark rum" + }, + { + "text": "1/2 oz Kahlua" + }, + { + "text": "1 oz Light cream" + }, + { + "text": "1/8 tsp grated Nutmeg" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the rum, Kahlua, and cream", + "Shake well", + "Strain into a cocktail glass and garnish with the nutmeg" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11987", + "alias": "queen-bee", + "name": "Queen Bee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rvvpxu1478963194.jpg", + "ingredients": [ + { + "text": "1 oz Coffee brandy" + }, + { + "text": "1 1/2 oz Lime vodka" + }, + { + "text": "1/2 oz cream Sherry" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13198", + "alias": "quick-fk", + "name": "Quick F**K", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wvtwpp1478963454.jpg", + "ingredients": [ + { + "text": "1 part Kahlua" + }, + { + "text": "1 part Midori melon liqueur" + }, + { + "text": "1 part Baileys irish cream" + } + ], + "steps": [ + "In a shot glass add 1/3 Kahlua first", + "Then 1/3 Miduri, topping it off with a 1/3 bailey's irish cream" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15761", + "alias": "quick-sand", + "name": "Quick-sand", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vprxqv1478963533.jpg", + "ingredients": [ + { + "text": "25 ml Black Sambuca" + }, + { + "text": "Add 250 ml Orange juice" + } + ], + "steps": [ + "Simply add the orange juice, quite a quick pour in order to mix the sambucca with the orange juice", + "The juice MUST have fruit pulp!" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11989", + "alias": "queen-charlotte", + "name": "Queen Charlotte", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vqruyt1478963249.jpg", + "ingredients": [ + { + "text": "2 oz Red wine" + }, + { + "text": "1 oz Grenadine" + }, + { + "text": "Lemon-lime soda" + } + ], + "steps": [ + "Pour red wine and grenadine into a collins glass over ice cubes", + "Fill with lemon-lime soda, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11991", + "alias": "queen-elizabeth", + "name": "Queen Elizabeth", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vpqspv1478963339.jpg", + "ingredients": [ + { + "text": "1/2 oz Dry Vermouth" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 1/2 tsp Benedictine" + } + ], + "steps": [ + "Stir all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11983", + "alias": "quakers-cocktail", + "name": "Quaker's Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yrqppx1478962314.jpg", + "ingredients": [ + { + "text": "3/4 oz Light rum" + }, + { + "text": "3/4 oz Brandy" + }, + { + "text": "Juice of 1/4 Lemon" + }, + { + "text": "2 tsp Raspberry syrup" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11985", + "alias": "quarter-deck-cocktail", + "name": "Quarter Deck Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qrwvps1478963017.jpg", + "ingredients": [ + { + "text": "1 1/2 Light rum" + }, + { + "text": "1/3 oz cream Sherry" + }, + { + "text": "Juice of 1/2 Lime" + } + ], + "steps": [ + "Stir all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17208", + "alias": "rose", + "name": "Rose", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/8kxbvq1504371462.jpg", + "ingredients": [ + { + "text": "1/2 oz Dry Vermouth" + }, + { + "text": "1 oz Gin" + }, + { + "text": "1/2 oz Apricot brandy" + }, + { + "text": "1/2 tsp Lemon juice" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "Powdered sugar" + } + ], + "steps": [ + "Shake together in a cocktail shaker, then strain into chilled glass", + "Garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "16031", + "alias": "radler", + "name": "Radler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xz8igv1504888995.jpg", + "ingredients": [ + { + "text": "12 oz Beer" + }, + { + "text": "12 oz 7-Up" + } + ], + "steps": [ + "Pour beer into large mug, slowly add the 7-up (or Sprite)" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12093", + "alias": "rum-sour", + "name": "Rum Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bylfi21504886323.jpg", + "ingredients": [ + { + "text": "2 oz Light rum" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1/2 tsp superfine Sugar" + }, + { + "text": "1 Orange" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the rum, lemon juice, and sugar", + "Shake well", + "Strain into a sour glass and garnish with the orange slice and the cherry" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14978", + "alias": "rum-punch", + "name": "Rum Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wyrsxu1441554538.jpg", + "ingredients": [ + { + "text": "mikey bottle Rum" + }, + { + "text": "large bottle Ginger ale" + }, + { + "text": "355 ml frozen Fruit punch" + }, + { + "text": "355 ml frozen Orange juice" + }, + { + "text": "crushed Ice" + } + ], + "steps": [ + "Mix all ingredients in a punch bowl and serve" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12097", + "alias": "rum-toddy", + "name": "Rum Toddy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/athdk71504886286.jpg", + "ingredients": [ + { + "text": "2 oz light or dark Rum" + }, + { + "text": "2 tsp Powdered sugar" + }, + { + "text": "1 twist of Lemon peel" + }, + { + "text": "2 tsp Water" + } + ], + "steps": [ + "Dissolve powdered sugar in water in an old-fashioned glass", + "Add rum and one ice cube and stir", + "Add the twist of lemon peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12055", + "alias": "royal-fizz", + "name": "Royal Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wrh44j1504390609.jpg", + "ingredients": [ + { + "text": "1 oz Gin" + }, + { + "text": "2 oz Sweet and sour" + }, + { + "text": "1 whole Egg" + }, + { + "text": "Coca-Cola" + } + ], + "steps": [ + "Shake all ingredients (except cola) with ice and strain into a chilled collins glass", + "Fill with cola and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12071", + "alias": "rum-cooler", + "name": "Rum Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2hgwsb1504888674.jpg", + "ingredients": [ + { + "text": "2 oz light or dark Rum" + }, + { + "text": "4 oz Lemon-lime soda" + }, + { + "text": "1 Lemon" + } + ], + "steps": [ + "Pour the rum and soda into a collins glass almost filled with ice cubes", + "Stir well and garnish with the lemon wedge" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16250", + "alias": "rum-runner", + "name": "Rum Runner", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vqws6t1504888857.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Malibu rum" + }, + { + "text": "1 oz Blackberry brandy" + }, + { + "text": "3-4 oz Orange juice" + }, + { + "text": "3-4 oz Pineapple juice" + }, + { + "text": "3-4 oz Cranberry juice" + } + ], + "steps": [ + "Mix all ingredients in glass & add ice" + ], + "categories": [ + "Punch / Party Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12101", + "alias": "rusty-nail", + "name": "Rusty Nail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yqsvtw1478252982.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "1/2 oz Drambuie" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Pour the Scotch and Drambuie into an old-fashioned glass almost filled with ice cubes", + "Stir well", + "Garnish with the lemon twist" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "14087", + "alias": "red-snapper", + "name": "Red Snapper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7p607y1504735343.jpg", + "ingredients": [ + { + "text": "1 shot Crown Royal" + }, + { + "text": "1 shot Amaretto" + }, + { + "text": "1 shot Cranberry juice" + } + ], + "steps": [ + "One shot each, shake n shoot" + ], + "categories": [ + "Shot", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17122", + "alias": "royal-bitch", + "name": "Royal Bitch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qupuyr1441210090.jpg", + "ingredients": [ + { + "text": "1 part Frangelico" + }, + { + "text": "1 part Crown Royal" + } + ], + "steps": [ + "Into a shot glass layer the Crown Royal on top of the Frangelico" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15082", + "alias": "royal-flush", + "name": "Royal Flush", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7rnm8u1504888527.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Crown Royal" + }, + { + "text": "1 oz Peach schnapps" + }, + { + "text": "1/2 oz Chambord raspberry liqueur" + }, + { + "text": "1 oz Cranberry juice" + } + ], + "steps": [ + "Pour all the ingredients into tumbler over ice", + "Strain into glass" + ], + "categories": [ + "Shot", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12067", + "alias": "rum-cobbler", + "name": "Rum Cobbler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5vh9ld1504390683.jpg", + "ingredients": [ + { + "text": "1 tsp superfine Sugar" + }, + { + "text": "3 oz Club soda" + }, + { + "text": "1 Lemon" + }, + { + "text": "2 oz Dark rum" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 Orange" + } + ], + "steps": [ + "In an old-fashioned glass, dissolve the sugar in the club soda", + "Add crushed ice until the glass is almost full", + "Add the rum", + "Stir well", + "Garnish with the cherry and the orange and lemon slices" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17114", + "alias": "ruby-tuesday", + "name": "Ruby Tuesday", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qsyqqq1441553437.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "5 oz Cranberry juice" + }, + { + "text": "2 splashes Grenadine" + } + ], + "steps": [ + "Pour gin and cranberry into a highball filled with ice cubes", + "Add grenadine and stir" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12630", + "alias": "rail-splitter", + "name": "Rail Splitter", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/stsuqq1441207660.jpg", + "ingredients": [ + { + "text": "2 tsp Sugar syrup" + }, + { + "text": "Lemon juice" + }, + { + "text": "Ginger ale" + } + ], + "steps": [ + "Mix sugar syrup with lemon juice in a tall glass", + "Fill up with ginger ale" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17245", + "alias": "rosemary-blue", + "name": "Rosemary Blue", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qwc5f91512406543.jpg", + "ingredients": [ + { + "text": "50 ml Gin" + }, + { + "text": "15 ml Blue Curacao" + }, + { + "text": "100 ml Tonic Water" + }, + { + "text": "Garnish with Rosemary" + } + ], + "steps": [ + "1) Add the Bombay Sapphire, Blue Curacao, rosemary sprig and gently squeezed lemon wedge to a balloon glass", + "Swirl well to combine", + "2) Fill with cubed ice and top with the Fever-Tree Light Tonic Water", + "3) Gently fold with a bar spoon to mix" + ], + "categories": [ + "Cocktail", + "Balloon Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178367", + "alias": "ramos-gin-fizz", + "name": "Ramos Gin Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/967t911643844053.jpg", + "ingredients": [ + { + "text": "4.5 cL Gin" + }, + { + "text": "3 cl Lemon Juice" + }, + { + "text": "3 cl Sugar Syrup" + }, + { + "text": "6 cl Cream" + }, + { + "text": "1 Egg White" + }, + { + "text": "2 drop Vanilla extract" + }, + { + "text": "2 cl Soda Water" + } + ], + "steps": [ + "Prepare all the ingredients on the counter to be able to work well and quickly, especially the cream and egg white", + "Pour all the ingredients into a shaker", + "Shake vigorously for 1 minute: cream and egg white must be mixed perfectly, so don't rush", + "Now open the shaker and put some ice and shake for 1-2 minutes", + "It depends on how long you can resist!", + "Pour into a highball glass, add a splash of soda and garnish to taste", + "Ramos Gin Fizz was once drunk as an invigorating drink or even as a breakfast, try it as an aperitif and after dinner and you will discover a little gem now lost" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12057", + "alias": "royal-gin-fizz", + "name": "Royal Gin Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pe1x1c1504735672.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 whole Egg" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients (except carbonated water) with ice and strain into a highball glass over two ice cubes", + "Fill with carbonated water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12087", + "alias": "rum-milk-punch", + "name": "Rum Milk Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/w64lqm1504888810.jpg", + "ingredients": [ + { + "text": "2 oz Light rum" + }, + { + "text": "1 cup Milk" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Shake all ingredients (except nutmeg) with ice and strain into a collins glass", + "Sprinkle nutmeg on top and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178333", + "alias": "raspberry-julep", + "name": "Raspberry Julep", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hyztmx1598719265.jpg", + "ingredients": [ + { + "text": "2 oz Bourbon" + }, + { + "text": "1/2 oz Raspberry syrup" + }, + { + "text": "8 Mint" + } + ], + "steps": [ + "Softly muddle the mint leaves and raspberry syrup in the bottom of the cup", + "Add crushed ice and Bourbon to the cup and then stir", + "Top with more ice, garnish with a mint sprig" + ], + "categories": [ + "Cocktail", + "Cordial glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12091", + "alias": "rum-screwdriver", + "name": "Rum Screwdriver", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/4c85zq1511782093.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "5 oz Orange juice" + } + ], + "steps": [ + "Pour rum into a highball glass over ice cubes", + "Add orange juice, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17167", + "alias": "raspberry-cooler", + "name": "Raspberry Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/suqyyx1441254346.jpg", + "ingredients": [ + { + "text": "2 oz Raspberry vodka" + }, + { + "text": "4 oz Lemon-lime soda" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Pour the raspberry vodka and soda into a highball glass almost filled with ice cubes", + "Stir well" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12089", + "alias": "rum-old-fashioned", + "name": "Rum Old-fashioned", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/otn2011504820649.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "1 tsp 151 proof rum" + }, + { + "text": "1/2 tsp Powdered sugar" + }, + { + "text": "1 dash Bitters" + }, + { + "text": "1 tsp Water" + }, + { + "text": "Twist of Lime peel" + } + ], + "steps": [ + "Stir powdered sugar, water, and bitters in an old-fashioned glass", + "When sugar has dissolved add ice cubes and light rum", + "Add the twist of lime peel, float 151 proof rum on top, and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17214", + "alias": "russian-spring-punch", + "name": "Russian Spring Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ctt20s1504373488.jpg", + "ingredients": [ + { + "text": "2.5 cl Vodka" + }, + { + "text": "1.5 cl Creme de Cassis" + }, + { + "text": "1 cl Sugar Syrup" + }, + { + "text": "2.5 cl Lemon Juice" + } + ], + "steps": [ + "Pour the ingredients into an highball glass, top with Sparkling wine" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "16984", + "alias": "radioactive-long-island-iced-tea", + "name": "Radioactive Long Island Iced Tea", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rdvqmh1503563512.jpg", + "ingredients": [ + { + "text": "1 oz Rum" + }, + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Tequila" + }, + { + "text": "1 oz Gin" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 oz Chambord raspberry liqueur" + }, + { + "text": "1 oz Midori melon liqueur" + }, + { + "text": "1 oz Malibu rum" + } + ], + "steps": [ + "Pour all ingredients over ice in a very tall glass", + "Sip cautiously" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17141", + "alias": "smut", + "name": "Smut", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rx8k8e1504365812.jpg", + "ingredients": [ + { + "text": "1/3 part Red wine" + }, + { + "text": "1 shot Peach schnapps" + }, + { + "text": "1/3 part Pepsi Cola" + }, + { + "text": "1/3 part Orange juice" + } + ], + "steps": [ + "Throw it all together and serve real cold" + ], + "categories": [ + "Punch / Party Drink", + "Beer mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17215", + "alias": "spritz", + "name": "Spritz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/j9evx11504373665.jpg", + "ingredients": [ + { + "text": "6 cl Prosecco" + }, + { + "text": "4 cl Campari" + }, + { + "text": "splash Soda Water" + } + ], + "steps": [ + "Build into glass over ice, garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-Fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": "New Era Drinks" + }, + { + "id": "12130", + "alias": "scooter", + "name": "Scooter", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/twuptu1483388307.jpg", + "ingredients": [ + { + "text": "1 oz Brandy" + }, + { + "text": "1 oz Amaretto" + }, + { + "text": "1 oz Light cream" + } + ], + "steps": [ + "Shake all ingredients well with cracked ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13020", + "alias": "sangria", + "name": "Sangria", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xrvxpp1441249280.jpg", + "ingredients": [ + { + "text": "1 bottle Red wine" + }, + { + "text": "1/2 cup Sugar" + }, + { + "text": "1 cup Orange juice" + }, + { + "text": "1 cup Lemon juice" + }, + { + "text": "Cloves" + }, + { + "text": "Cinnamon" + } + ], + "steps": [ + "Mix all together in a pitcher and refrigerate", + "Add cloves and cinnamon sticks to taste", + "Serve in wine glasses" + ], + "categories": [ + "Punch / Party Drink", + "Pitcher", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17193", + "alias": "stinger", + "name": "Stinger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2ahv791504352433.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Brandy" + }, + { + "text": "1/2 oz White Creme de Menthe" + } + ], + "steps": [ + "Pour in a mixing glass with ice, stir and strain into a cocktail glass", + "May also be served on rocks in a rocks glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "12127", + "alias": "sazerac", + "name": "Sazerac", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vvpxwy1439907208.jpg", + "ingredients": [ + { + "text": "1 tsp Ricard" + }, + { + "text": "1/2 tsp superfine Sugar" + }, + { + "text": "2 dashes Peychaud bitters" + }, + { + "text": "1 tsp Water" + }, + { + "text": "2 oz Bourbon" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Rinse a chilled old-fashioned glass with the absinthe, add crushed ice, and set it aside", + "Stir the remaining ingredients over ice and set it aside", + "Discard the ice and any excess absinthe from the prepared glass, and strain the drink into the glass", + "Add the lemon peel for garnish" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "12196", + "alias": "sidecar", + "name": "Sidecar", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/x72sik1606854964.jpg", + "ingredients": [ + { + "text": "2 oz Cognac" + }, + { + "text": "1/2 oz Cointreau" + }, + { + "text": "1 oz Lemon juice" + } + ], + "steps": [ + "Pour all ingredients into cocktail shaker filled with ice", + "Shake well and strain into cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "178349", + "alias": "snowday", + "name": "Snowday", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/4n1ipk1614009624.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Amaro Montenegro" + }, + { + "text": "1 oz Ruby Port" + }, + { + "text": "1 tsp Blood Orange" + }, + { + "text": "Dash Angostura Bitters" + }, + { + "text": "Garnish with Orange Peel" + } + ], + "steps": [ + "Stir all ingredients with ice", + "Strain into a chilled rocks glass over fresh ice", + "Express orange peel over drink and garnish" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "Winter" + ], + "ibaCategory": null + }, + { + "id": "178322", + "alias": "spice-75", + "name": "Spice 75", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0108c41576797064.jpg", + "ingredients": [ + { + "text": "60 ml Sugar" + }, + { + "text": "1 tblsp Allspice" + }, + { + "text": "20 cl Rum" + }, + { + "text": "90 ml Lime Juice" + }, + { + "text": "6 cl Champagne" + }, + { + "text": "Garnish with Orange spiral" + } + ], + "steps": [ + "Gently warm 60g golden caster sugar in a pan with 30ml water and 1 tbsp allspice", + "Cook gently until the sugar has dissolved, then leave the mixture to cool", + "Strain through a sieve lined with a coffee filter (or a double layer of kitchen paper)", + "Pour 60ml of the spiced syrup into a cocktail shaker along with 200ml rum and 90ml lime juice", + "Shake with ice and strain between six flute glasses", + "Top up with 600ml champagne and garnish each with an orange twist" + ], + "categories": [ + "Cocktail", + "Wine Glass", + "Alcoholic" + ], + "tags": [ + "Christmas" + ], + "ibaCategory": null + }, + { + "id": "14195", + "alias": "snowball", + "name": "Snowball", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7ibfs61504735416.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Advocaat" + }, + { + "text": "8-10 oz cold Lemonade" + }, + { + "text": "1 slice Lemon" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Place one ice cube in the glass and add 1 1/2 oz of Advocaat", + "Fill up the glass with lemonade and decorate with a slice of lemon", + "Serve at once" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Christmas" + ], + "ibaCategory": null + }, + { + "id": "16985", + "alias": "shot-gun", + "name": "Shot-gun", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2j1m881503563583.jpg", + "ingredients": [ + { + "text": "1 part Jim Beam" + }, + { + "text": "1 part Jack Daniels" + }, + { + "text": "1 oz Wild Turkey" + } + ], + "steps": [ + "Pour one part Jack Daneils and one part Jim Beam into shot glass then float Wild Turkey on top" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12107", + "alias": "salty-dog", + "name": "Salty Dog", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/4vfge01504890216.jpg", + "ingredients": [ + { + "text": "5 oz Grapefruit juice" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/4 tsp Salt" + } + ], + "steps": [ + "Pour all ingredients over ice cubes in a highball glass", + "Stir well and serve", + "(Vodka may be substituted for gin, if preferred.)" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12308", + "alias": "stone-sour", + "name": "Stone Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vruvtp1472719895.jpg", + "ingredients": [ + { + "text": "1 oz Apricot brandy" + }, + { + "text": "1 oz Orange juice" + }, + { + "text": "1 oz Sweet and sour" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a chilled whiskey sour glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13377", + "alias": "sea-breeze", + "name": "Sea breeze", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7rfuks1504371562.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "4 oz Cranberry juice" + }, + { + "text": "1 oz Grapefruit juice" + } + ], + "steps": [ + "Build all ingredients in a highball glass filled with ice", + "Garnish with lime wedge" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "12158", + "alias": "scotch-sour", + "name": "Scotch Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0dnb6k1504890436.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "Juice of 1/2 Lime" + }, + { + "text": "1/2 tsp Powdered sugar" + }, + { + "text": "1/2 slice Lemon" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Shake scotch, juice of lime, and powdered sugar with ice and strain into a whiskey sour glass", + "Decorate with 1/2 slice lemon, top with the cherry, and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16990", + "alias": "sweet-tooth", + "name": "Sweet Tooth", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/j6rq6h1503563821.jpg", + "ingredients": [ + { + "text": "2 shots Godiva liqueur" + }, + { + "text": "Milk" + } + ], + "steps": [ + "Put 2 shots Godiva Liquour into a glass, add as much or as little milk as you would like" + ], + "categories": [ + "Shake", + "Highball Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12162", + "alias": "screwdriver", + "name": "Screwdriver", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/8xnyke1504352207.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "Orange juice" + } + ], + "steps": [ + "Mix in a highball glass with ice", + "Garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "12190", + "alias": "sherry-flip", + "name": "Sherry Flip", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qrryvq1478820428.jpg", + "ingredients": [ + { + "text": "1 1/2 oz cream Sherry" + }, + { + "text": "2 tsp Light cream" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 whole Egg" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Shake all ingredients (except nutmeg) with ice and strain into a whiskey sour glass", + "Sprinkle nutmeg on top and serve" + ], + "categories": [ + "Ordinary Drink", + "Nick and Nora Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12256", + "alias": "sol-y-sombra", + "name": "Sol Y Sombra", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3gz2vw1503425983.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Brandy" + }, + { + "text": "1 1/2 oz Anisette" + } + ], + "steps": [ + "Shake ingredients with ice, strain into a brandy snifter, and serve", + "(The English translation of the name of this drink is \"Sun and Shade\", and after sampling this drink, you'll understand why", + "Thanks, Kirby.)" + ], + "categories": [ + "Ordinary Drink", + "Brandy snifter", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16273", + "alias": "shark-attack", + "name": "Shark Attack", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uv96zr1504793256.jpg", + "ingredients": [ + { + "text": "1 can Lemonade" + }, + { + "text": "3 cans Water" + }, + { + "text": "1 1/2 cup Vodka" + } + ], + "steps": [ + "Mix lemonade and water according to instructions on back of can", + "If the instructions say to add 4 1/3 cans of water do so", + "Mix into pitcher", + "Add 1 1/2 cup of Vodka (Absolut)", + "Mix well", + "Pour into glass of crushed ice", + "Excellent!" + ], + "categories": [ + "Cocktail", + "Pitcher", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15184", + "alias": "san-francisco", + "name": "San Francisco", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/szmj2d1504889961.jpg", + "ingredients": [ + { + "text": "2 cl Vodka" + }, + { + "text": "2 cl Creme de Banane" + }, + { + "text": "Grenadine" + }, + { + "text": "Orange juice" + } + ], + "steps": [ + "Take a tall glass and put in a few ice cubes, fill the vodka over it and fill with juice then the \"creme\", to end fill in the grenadine but very carefully at the side of the glass so it will lay down in the bottom", + "garnish with orange and strawberry" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15226", + "alias": "space-odyssey", + "name": "Space Odyssey", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vxtjbx1504817842.jpg", + "ingredients": [ + { + "text": "1 shot Bacardi 151 proof rum" + }, + { + "text": "1 shot Malibu rum" + }, + { + "text": "1 shot Pineapple juice" + }, + { + "text": "Orange juice" + }, + { + "text": "Grenadine" + }, + { + "text": "Cherries" + } + ], + "steps": [ + "Fill glass with ice and add shots of Bacardi and Malibu", + "Add splash of pineapple juice and top with orange juice", + "Add grenadine for color and garnish with cherries" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12188", + "alias": "sherry-eggnog", + "name": "Sherry Eggnog", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xwrpsv1478820541.jpg", + "ingredients": [ + { + "text": "2 oz cream Sherry" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 whole Egg" + }, + { + "text": "Milk" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Shake sherry, powdered sugar, and egg with ice and strain into a collins glass", + "Fill with milk and stir", + "Sprinkle nutmeg on top and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12724", + "alias": "sweet-bananas", + "name": "Sweet Bananas", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sxpcj71487603345.jpg", + "ingredients": [ + { + "text": "2 cups Milk" + }, + { + "text": "1 Banana" + }, + { + "text": "1 tblsp Honey" + } + ], + "steps": [ + "Place all ingredients in the blender jar - cover and whiz on medium speed until well blended", + "Pour in one tall, 2 medium or 3 small glasses and drink up" + ], + "categories": [ + "Shake", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13024", + "alias": "sweet-sangria", + "name": "Sweet Sangria", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uqqvsp1468924228.jpg", + "ingredients": [ + { + "text": "2 bottles Red wine" + }, + { + "text": "1 cup Sugar" + }, + { + "text": "2 cups hot Water" + }, + { + "text": "1 cup Apple" + }, + { + "text": "wedges Orange" + }, + { + "text": "wedges Lime" + }, + { + "text": "Lemon" + }, + { + "text": "Fresca" + } + ], + "steps": [ + "Dissolve the sugar in hot water and cool", + "Peel the citrus fruits and break into wedges", + "Mix the wine, sugar syrup, fruit, and Fresca in a pitcher and put in the fridge for a few hours", + "Serve in tall glasses with a straw" + ], + "categories": [ + "Punch / Party Drink", + "Pitcher", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12388", + "alias": "thriller", + "name": "Thriller", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rvuswq1461867714.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "1 oz Green Ginger Wine" + }, + { + "text": "1 oz Orange juice" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178350", + "alias": "the-galah", + "name": "The Galah", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sy7y6r1614775067.jpg", + "ingredients": [ + { + "text": "1 shot Dark Rum" + }, + { + "text": "1 shot Campari" + }, + { + "text": "1/2 shot Creme De Banane" + }, + { + "text": "Top Pineapple Juice" + }, + { + "text": "Top Lime Juice" + } + ], + "steps": [ + "Mix together the alcoholic portions and top with Pineapple and Lime juice" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "Dark" + ], + "ibaCategory": null + }, + { + "id": "12856", + "alias": "tia-maria", + "name": "Tia-Maria", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sih81u1504367097.jpg", + "ingredients": [ + { + "text": "1 cup Water" + }, + { + "text": "3/4-1 cup Brown sugar" + }, + { + "text": "4 tsp Coffee" + }, + { + "text": "1 cup Rum" + }, + { + "text": "4 tsp Vanilla extract" + } + ], + "steps": [ + "Boil water, sugar and coffe for 10 mins and let cool", + "Add rum and vanilla", + "Put in clean bottle(s) and leave for 1 week before using" + ], + "categories": [ + "Homemade Liqueur", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17828", + "alias": "tipperary", + "name": "Tipperary", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/b522ek1521761610.jpg", + "ingredients": [ + { + "text": "2 oz Irish Whiskey" + }, + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1/2 oz Green Chartreuse" + } + ], + "steps": [ + "Stir over ice", + "Strain into chilled glass", + "Cut a wide swath of orange peel, and express the orange oils over the drink", + "Discard orange twist" + ], + "categories": [ + "Cocktail", + "Nick and Nora Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15006", + "alias": "turkeyball", + "name": "Turkeyball", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rxurpr1441554292.jpg", + "ingredients": [ + { + "text": "1 oz Wild Turkey" + }, + { + "text": "3/4 oz Amaretto" + }, + { + "text": "1 splash Pineapple juice" + } + ], + "steps": [ + "Shake with ice and strain into a shot glass" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15639", + "alias": "texas-sling", + "name": "Texas Sling", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ypl13s1504890158.jpg", + "ingredients": [ + { + "text": "1/2 oz Kahlua" + }, + { + "text": "1/2 oz Irish cream" + }, + { + "text": "1/2 oz Amaretto" + }, + { + "text": "1/2 oz Bacardi 151 proof rum" + }, + { + "text": "1 oz Cream" + } + ], + "steps": [ + "Blend with Ice until smooth", + "Serve in a tulip glass, top with whip cream" + ], + "categories": [ + "Shake", + "Wine Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12782", + "alias": "thai-coffee", + "name": "Thai Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wquwxs1441247025.jpg", + "ingredients": [ + { + "text": "6 tblsp ground Coffee" + }, + { + "text": "1/4 tsp Coriander" + }, + { + "text": "4-5 whole green Cardamom" + }, + { + "text": "Sugar" + }, + { + "text": "Whipping cream" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Place the coffee and spices in the filter cone of your coffee maker", + "Brew coffee as usual, let it cool", + "In a tall glass, dissolve 1 or 2 teaspoons of sugar in an ounce of the coffee (it's easier to dissolve than if you put it right over ice)", + "Add 5-6 ice cubes and pour coffee to within about 1 inch of the top of the glass", + "Rest a spoon on top of the coffee and slowly pour whipping cream into the spoon", + "This will make the cream float on top of the coffee rather than dispersing into it right away" + ], + "categories": [ + "Coffee / Tea", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12402", + "alias": "tom-collins", + "name": "Tom Collins", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7cll921606854636.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1 tsp superfine Sugar" + }, + { + "text": "3 oz Club soda" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 Orange" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the gin, lemon juice, and sugar", + "Shake well", + "Strain into a collins glass alomst filled with ice cubes", + "Add the club soda", + "Stir and garnish with the cherry and the orange slice" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12726", + "alias": "tomato-tang", + "name": "Tomato Tang", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/869qr81487603278.jpg", + "ingredients": [ + { + "text": "2 cups Tomato juice" + }, + { + "text": "1-2 tblsp Lemon juice" + }, + { + "text": "1 dash Celery salt" + } + ], + "steps": [ + "Place all ingredients in the blender jar - cover and whiz on medium speed until well blended", + "Pour in one tall, 2 medium or 3 small glasses and drink up" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14860", + "alias": "talos-coffee", + "name": "Talos Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rswqpy1441246518.jpg", + "ingredients": [ + { + "text": "3 parts Grand Marnier" + }, + { + "text": "1 part Coffee" + } + ], + "steps": [ + "Add your GM and then add your coffee" + ], + "categories": [ + "Coffee / Tea", + "Brandy snifter", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15515", + "alias": "tennesee-mud", + "name": "Tennesee Mud", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/txruqv1441245770.jpg", + "ingredients": [ + { + "text": "8 oz Coffee" + }, + { + "text": "4 oz Jack Daniels" + }, + { + "text": "4 oz Amaretto" + }, + { + "text": "Whipped cream" + } + ], + "steps": [ + "Mix Coffee, Jack Daniels and Amaretto", + "Add Cream on top" + ], + "categories": [ + "Coffee / Tea", + "Coffee Mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12362", + "alias": "tequila-fizz", + "name": "Tequila Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2bcase1504889637.jpg", + "ingredients": [ + { + "text": "2 oz Tequila" + }, + { + "text": "1 tblsp Lemon juice" + }, + { + "text": "3/4 oz Grenadine" + }, + { + "text": "1 Egg white" + }, + { + "text": "Ginger ale" + } + ], + "steps": [ + "Shake all ingredients (except ginger ale) with ice and strain into a collins glass over ice cubes", + "Fill with ginger ale, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12370", + "alias": "tequila-sour", + "name": "Tequila Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ek0mlq1504820601.jpg", + "ingredients": [ + { + "text": "2 oz Tequila" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1/2 slice Lemon" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Shake tequila, juice of lemon, and powdered sugar with ice and strain into a whiskey sour glass", + "Add the half-slice of lemon, top with the cherry, and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12786", + "alias": "thai-iced-tea", + "name": "Thai Iced Tea", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/trvwpu1441245568.jpg", + "ingredients": [ + { + "text": "1/4 cup Thai Tea" + }, + { + "text": "1/2 cup boiling Water" + }, + { + "text": "2 tsp sweetened Condensed milk" + }, + { + "text": "cubes Ice" + }, + { + "text": "garnish Mint" + } + ], + "steps": [ + "Combine Thai tea (i.e., the powder), boiling water, and sweetened condensed milk, stir until blended", + "Pour into 2 tall glasses filled with ice cubes", + "Garnish with mint leaves", + "Makes 2 servings" + ], + "categories": [ + "Coffee / Tea", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17247", + "alias": "the-last-word", + "name": "The Last Word", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/91oule1513702624.jpg", + "ingredients": [ + { + "text": "1 oz Green Chartreuse" + }, + { + "text": "1 oz Maraschino Liqueur" + }, + { + "text": "1 oz Lime Juice" + }, + { + "text": "1 oz Gin" + } + ], + "steps": [ + "Shake with ice and strain into a cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12418", + "alias": "turf-cocktail", + "name": "Turf Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/utypqq1441554367.jpg", + "ingredients": [ + { + "text": "1 oz Dry Vermouth" + }, + { + "text": "1 oz Gin" + }, + { + "text": "1/4 tsp Anis" + }, + { + "text": "2 dashes Bitters" + }, + { + "text": "Twist of Orange peel" + } + ], + "steps": [ + "Stir all ingredients (except orange peel) with ice and strain into a cocktail glass", + "Add the twist of orange peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17824", + "alias": "the-laverstoke", + "name": "The Laverstoke", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6xfj5t1517748412.jpg", + "ingredients": [ + { + "text": "50 ml Gin" + }, + { + "text": "15 ml Elderflower cordial" + }, + { + "text": "15 ml Rosso Vermouth" + }, + { + "text": "75 ml Tonic Water" + }, + { + "text": "2 Wedges Lime" + }, + { + "text": "1 Slice Ginger" + }, + { + "text": "1 Large Sprig Mint" + } + ], + "steps": [ + "1) Squeeze two lime wedges into a balloon glass then add the cordial, Bombay Sapphire and MARTINI Rosso Vermouth, swirl to mix", + "2) Fully fill the glass with cubed ice and stir to chill", + "3) Top with Fever-Tree Ginger Ale and gently stir again to combine", + "4) Garnish with a snapped ginger slice and an awoken mint sprig" + ], + "categories": [ + "Cocktail", + "Balloon Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178307", + "alias": "tequila-slammer", + "name": "Tequila Slammer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/43uhr51551451311.jpg", + "ingredients": [ + { + "text": "1 shot Tequila" + }, + { + "text": "1 part 7-up" + } + ], + "steps": [ + "Mix carefully to avoid releasing the dissolved CO2" + ], + "categories": [ + "Shot", + "Hurricane glass", + "Alcoholic" + ], + "tags": [ + "Drunk" + ], + "ibaCategory": null + }, + { + "id": "13621", + "alias": "tequila-sunrise", + "name": "Tequila Sunrise", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/quqyqp1480879103.jpg", + "ingredients": [ + { + "text": "2 measures Tequila" + }, + { + "text": "Orange juice" + }, + { + "text": "Grenadine" + } + ], + "steps": [ + "Pour the tequila and orange juice into glass over ice", + "Add the grenadine, which will sink to the bottom", + "Stir gently to create the sunrise effect", + "Garnish and serve" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "178330", + "alias": "the-philosopher", + "name": "The Philosopher", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sp8hkp1596017787.jpg", + "ingredients": [ + { + "text": "1 shot Gin" + }, + { + "text": "1 shot Melon Liqueur" + }, + { + "text": "1 dash Orange Bitters" + }, + { + "text": "1 dash Lemon Juice" + }, + { + "text": "Top Prosecco" + } + ], + "steps": [ + "Add all the spirits in a shaker (best to use Hendricks gin) as well as the orange bitters and lemon juice", + "Strain into a Margarita glass, top with Prosecco" + ], + "categories": [ + "Cocktail", + "Margarita glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12420", + "alias": "tuxedo-cocktail", + "name": "Tuxedo Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/4u0nbl1504352551.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dry Vermouth" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/4 tsp Maraschino liqueur" + }, + { + "text": "1/4 tsp Anis" + }, + { + "text": "2 dashes Orange bitters" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Stir all ingredients with ice and strain into a cocktail glass", + "Garnish with a cherry and a twist of lemon zest" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "14602", + "alias": "tequila-surprise", + "name": "Tequila Surprise", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/8189p51504735581.jpg", + "ingredients": [ + { + "text": "full glass Tequila" + }, + { + "text": "About 8 drops Tabasco sauce" + } + ], + "steps": [ + "Fill shot glass with Tequila", + "Add drops of Tobasco sauce" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12784", + "alias": "thai-iced-coffee", + "name": "Thai Iced Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rqpypv1441245650.jpg", + "ingredients": [ + { + "text": "black Coffee" + }, + { + "text": "Sugar" + }, + { + "text": "pods Cream" + }, + { + "text": "Cardamom" + } + ], + "steps": [ + "Prepare a pot of coffee at a good European strength", + "In the ground coffee, add 2 or 3 freshly ground cardamom pods", + "Sweeten while hot, then cool quickly", + "Serve in highball glass over ice, with cream", + "To get the layered effect, place a spoon atop the coffee and pour the milk carefully into the spoon so that it floats on the top of the coffee" + ], + "categories": [ + "Coffee / Tea", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17826", + "alias": "the-jimmy-conway", + "name": "The Jimmy Conway", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wbcvyo1535794478.jpg", + "ingredients": [ + { + "text": "50 ml Irish Whiskey" + }, + { + "text": "50 ml Amaretto" + }, + { + "text": "4 oz Cranberry Juice" + } + ], + "steps": [ + "Fill glass with ice\nPour in The Irishman and Disaronno\nFill to the top with Cranberry Juice\nGarnish with a slice of lemon…Enjoy!" + ], + "categories": [ + "Cocktail", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15178", + "alias": "texas-rattlesnake", + "name": "Texas Rattlesnake", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rtohqp1504889750.jpg", + "ingredients": [ + { + "text": "1 part Yukon Jack" + }, + { + "text": "1/2 part Cherry brandy" + }, + { + "text": "1 part Southern Comfort" + }, + { + "text": "1 splash Sweet and sour" + } + ], + "steps": [ + "Mix all ingredients and Shake well", + "Sweet at first, with a BITE at the end" + ], + "categories": [ + "Shot", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17218", + "alias": "vesper", + "name": "Vesper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mtdxpa1504374514.jpg", + "ingredients": [ + { + "text": "6 cl Gin" + }, + { + "text": "1.5 cl Vodka" + }, + { + "text": "0.75 cl Lillet Blanc" + } + ], + "steps": [ + "Shake over ice until well chilled, then strain into a deep goblet and garnish with a thin slice of lemon peel" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "12450", + "alias": "victor", + "name": "Victor", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/voapgc1492976416.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/2 oz Sweet Vermouth" + }, + { + "text": "1/2 oz Brandy" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17217", + "alias": "vampiro", + "name": "Vampiro", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yfhn371504374246.jpg", + "ingredients": [ + { + "text": "6 cl Tequila" + }, + { + "text": "3 cl Tomato Juice" + }, + { + "text": "3 cl Orange Juice" + }, + { + "text": "1.5 cl Lime Juice" + }, + { + "text": "1 dash Sugar Syrup" + }, + { + "text": "1 pinch Salt" + } + ], + "steps": [ + "Vampiros may be made in a tall glass or an old fashioned glass", + "Bartenders may first \"rim\" the glass with Kosher Salt, which is done by placing a layer of Kosher Salt on a chopping board, moistening the glass' rim with lime juice or water, and then placing the upside down glass rim onto the Kosher Salt, so that the salt sticks to the moistened rim", + "The second step is to fill half the glass with ice and add one or two shooter glasses full of high quality Tequila", + "The next stage is to add the flavouring elements", + "This is done by squeezing a fresh lime into the glass, adding a few grains of salt, adding citrus-flavoured soda pop, until the glass is 4/5 full, and then adding spicy Viuda de Sanchez (or orange juice, lime juice and pico de gallo)", + "The final step is to stir the ingredients so that the flavours are properly blended" + ], + "categories": [ + "Ordinary Drink", + "Old-Fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "12444", + "alias": "vesuvio", + "name": "Vesuvio", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/26cq601492976203.jpg", + "ingredients": [ + { + "text": "1 oz Light rum" + }, + { + "text": "1/2 oz Sweet Vermouth" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 Egg white" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into an old-fashioned glass over ice cubes, and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12446", + "alias": "veteran", + "name": "Veteran", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/iwml9t1492976255.jpg", + "ingredients": [ + { + "text": "2 oz Dark rum" + }, + { + "text": "1/2 oz Cherry brandy" + } + ], + "steps": [ + "Pour the rum and cherry brandy into an old-fashioned glass almost filled with ice cubes", + "Stir well" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12436", + "alias": "van-vleet", + "name": "Van Vleet", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/fgq2bl1492975771.jpg", + "ingredients": [ + { + "text": "3 oz Light rum" + }, + { + "text": "1 oz Maple syrup" + }, + { + "text": "1 oz Lemon juice" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into an old-fashioned glass over ice cubes, and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16967", + "alias": "vodka-fizz", + "name": "Vodka Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xwxyux1441254243.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "2 oz Half-and-half" + }, + { + "text": "2 oz Limeade" + }, + { + "text": "Ice" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Blend all ingredients, save nutmeg", + "Pour into large white wine glass and sprinkle nutmeg on top" + ], + "categories": [ + "Other / Unknown", + "White wine glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178363", + "alias": "vodka-lemon", + "name": "Vodka Lemon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mql55h1643820632.jpg", + "ingredients": [ + { + "text": "5 cl Vodka" + }, + { + "text": "7 cl Lemon Juice" + }, + { + "text": "1 Slice Lemon Peel" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "The vodka lemon is prepared directly in a highball glass or in a large tumbler: put 6-7 ice cubes in the glass, pour the vodka, lemonade and mix with a bar spoon", + "Finally decorate with a slice of lemon and, if you prefer, add a few mint leaves", + "Your vodka lemon is ready to be served" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178362", + "alias": "vodka-slime", + "name": "Vodka Slime", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/apex461643588115.jpg", + "ingredients": [ + { + "text": "1 cup Sprite" + }, + { + "text": "1/2 shot Lime Juice" + }, + { + "text": "1 1/2 shot Vodka" + } + ], + "steps": [ + "Fill glass with ice", + "Add vodka, 7-up then finish with the lime juice" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178364", + "alias": "vodka-tonic", + "name": "Vodka Tonic", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/9koz3f1643821062.jpg", + "ingredients": [ + { + "text": "4 cl Vodka" + }, + { + "text": "10 cl Tonic Water" + }, + { + "text": "1 Slice Lemon Peel" + } + ], + "steps": [ + "Wash and cut 1 wedge and 1 slice of lime or lemon", + "Fill a tumbler with fresh ice", + "Pour the desired dose of vodka and top up with the tonic", + "Squeeze the lime wedge into the glass and decorate with the slice", + "That's all, very simple: it's just the recipe for happiness!" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14167", + "alias": "vodka-martini", + "name": "Vodka Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qyxrqw1439906528.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "3/4 oz Dry Vermouth" + }, + { + "text": "1 Olive" + } + ], + "steps": [ + "Shake the vodka and vermouth together with a number of ice cubes, strain into a cocktail glass, add the olive and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15403", + "alias": "vodka-russian", + "name": "Vodka Russian", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rpttur1454515129.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "Schweppes Russchian" + } + ], + "steps": [ + "Mix it as a ordinary drink" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12442", + "alias": "vermouth-cassis", + "name": "Vermouth Cassis", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tswpxx1441554674.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dry Vermouth" + }, + { + "text": "3/4 oz Creme de Cassis" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Stir vermouth and creme de cassis in a highball glass with ice cubes", + "Fill with carbonated water, stir again, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12452", + "alias": "victory-collins", + "name": "Victory Collins", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/lx0lvs1492976619.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "3 oz Lemon juice" + }, + { + "text": "3 oz unsweetened Grape juice" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 slice Orange" + } + ], + "steps": [ + "Shake all ingredients (except orange slice) with ice and strain into a collins glass over ice cubes", + "Add the slice of orange and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12460", + "alias": "vodka-and-tonic", + "name": "Vodka And Tonic", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/lmj2yt1504820500.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "Tonic water" + } + ], + "steps": [ + "Pour vodka into a highball glass over ice cubes", + "Fill with tonic water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12434", + "alias": "valencia-cocktail", + "name": "Valencia Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/9myuc11492975640.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Apricot brandy" + }, + { + "text": "1 tblsp Orange juice" + }, + { + "text": "2 dashes Orange bitters" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12518", + "alias": "whisky-mac", + "name": "Whisky Mac", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yvvwys1461867858.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "1 oz Green Ginger Wine" + } + ], + "steps": [ + "Pour both of the ingredients into a wine goblet with no ice" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17194", + "alias": "white-lady", + "name": "White Lady", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jofsaz1504352991.jpg", + "ingredients": [ + { + "text": "4cl Gin" + }, + { + "text": "3cl Triple Sec" + }, + { + "text": "2cl Lemon Juice" + } + ], + "steps": [ + "Add all ingredients into cocktail shaker filled with ice", + "Shake well and strain into large cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "13058", + "alias": "wine-punch", + "name": "Wine Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/txustu1473344310.jpg", + "ingredients": [ + { + "text": "1 bottle Red wine" + }, + { + "text": "2 Lemon" + }, + { + "text": "1 cup Orange juice" + }, + { + "text": "3 Orange" + }, + { + "text": "1 cup Pineapple juice" + } + ], + "steps": [ + "Combine all of the ingredients and pour over a block of ice" + ], + "categories": [ + "Punch / Party Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13056", + "alias": "wine-cooler", + "name": "Wine Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yutxtv1473344210.jpg", + "ingredients": [ + { + "text": "2 oz white or Red wine" + }, + { + "text": "5 oz Lemon-lime soda" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Mix wine and soft drink", + "Pour into glass", + "Add ice" + ], + "categories": [ + "Punch / Party Drink", + "Collins Glass", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178347", + "alias": "winter-rita", + "name": "Winter Rita", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/fwpd0v1614006733.jpg", + "ingredients": [ + { + "text": "1 2/3 oz Tequila" + }, + { + "text": "1/4 oz Campari" + }, + { + "text": "3/4 oz Lime Juice" + }, + { + "text": "1/2 oz Orange Juice" + }, + { + "text": "1/2 oz Rosemary Syrup" + }, + { + "text": "Dash Salt" + } + ], + "steps": [ + "Salt rim", + "Combine all ingredients, shake with ice, and strain over fresh ice.⠀" + ], + "categories": [ + "Beer", + "Highball Glass", + "Alcoholic" + ], + "tags": [ + "Winter" + ], + "ibaCategory": null + }, + { + "id": "11004", + "alias": "whiskey-sour", + "name": "Whiskey Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hbkfsh1589574990.jpg", + "ingredients": [ + { + "text": "2 oz Blended whiskey" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1/2 tsp Powdered sugar" + }, + { + "text": "1 Cherry" + }, + { + "text": "1/2 slice Lemon" + } + ], + "steps": [ + "Shake with ice", + "Strain into chilled glass, garnish and serve", + "If served 'On the rocks', strain ingredients into old-fashioned glass filled with ice" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Alcoholic", + "ContemporaryClassic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "12528", + "alias": "white-russian", + "name": "White Russian", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vsrupw1472405732.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "1 oz Coffee liqueur" + }, + { + "text": "Light cream" + } + ], + "steps": [ + "Pour vodka and coffee liqueur over ice cubes in an old-fashioned glass", + "Fill with light cream and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178348", + "alias": "winter-paloma", + "name": "Winter Paloma", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/u5f0pz1614007748.jpg", + "ingredients": [ + { + "text": "2 shots Tequila" + }, + { + "text": "Top Grapefruit Juice" + }, + { + "text": "Juice of 1 Lime Juice" + }, + { + "text": "1 tsp Agave Syrup" + }, + { + "text": "Dash Pepper" + } + ], + "steps": [ + "Everyone’s favourite Paloma gets a delicious Indian makeover", + "Tequila reposado infused with “Timur Pepper” which has citrusy & grapefruit notes and is grown at the foothills of Himalaya", + "It also produces a slightly numbing and tingling sensation on your lip when consumed", + "We have also spiced up the fresh grapefruit juice with the warming spice blend from Himalaya", + "The combination of all these interesting elements has allowed us to elevate your Paloma sipping experience" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Winter" + ], + "ibaCategory": null + }, + { + "id": "178326", + "alias": "white-wine-sangria", + "name": "White Wine Sangria", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hnuod91587851576.jpg", + "ingredients": [ + { + "text": "1 Lime" + }, + { + "text": "1 lemon" + }, + { + "text": "750 ml White Wine" + }, + { + "text": "1 cup Strawberries" + }, + { + "text": "1 cup Apple" + }, + { + "text": "3 shots Apple Brandy" + }, + { + "text": "Top Soda Water" + } + ], + "steps": [ + "Chop the Lemon, Lime and other fruits into large chunks", + "Fill the Pitcher with the white wine and mix in the Apple Brandy", + "Top to taste with soda water" + ], + "categories": [ + "Punch / Party Drink", + "Pitcher", + "Alcoholic" + ], + "tags": [ + "Spanish" + ], + "ibaCategory": null + }, + { + "id": "16158", + "alias": "whitecap-margarita", + "name": "Whitecap Margarita", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/srpxxp1441209622.jpg", + "ingredients": [ + { + "text": "1 cup Ice" + }, + { + "text": "2 oz Tequila" + }, + { + "text": "1/4 cup Cream of coconut" + }, + { + "text": "3 tblsp fresh Lime juice" + } + ], + "steps": [ + "Place all ingredients in a blender and blend until smooth", + "This makes one drink" + ], + "categories": [ + "Other / Unknown", + "Margarita/Coupette glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12474", + "alias": "waikiki-beachcomber", + "name": "Waikiki Beachcomber", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ysuqus1441208583.jpg", + "ingredients": [ + { + "text": "3/4 oz Triple sec" + }, + { + "text": "3/4 oz Gin" + }, + { + "text": "1 tblsp Pineapple juice" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17219", + "alias": "yellow-bird", + "name": "Yellow Bird", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2t9r6w1504374811.jpg", + "ingredients": [ + { + "text": "3 cl White Rum" + }, + { + "text": "1.5 cl Galliano" + }, + { + "text": "1.5 cl Triple Sec" + }, + { + "text": "1.5 cl Lime Juice" + } + ], + "steps": [ + "Shake and strain into a chilled cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "12728", + "alias": "yoghurt-cooler", + "name": "Yoghurt Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/trttrv1441254466.jpg", + "ingredients": [ + { + "text": "1 cup Yoghurt" + }, + { + "text": "1 cup Fruit" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Place all ingredients in the blender jar - cover and whiz on medium speed until well blended", + "Pour in one tall, 2 medium or 3 small glasses and drink up", + "Note: Use lots of ice in this one - great on hot days!", + "To add ice: Remove the center of the cover while the blender is on - drop 3 or 4 ice cubs and blend until they're completely crushed" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15328", + "alias": "zorro", + "name": "Zorro", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kvvd4z1485621283.jpg", + "ingredients": [ + { + "text": "2 cl Sambuca" + }, + { + "text": "2 cl Baileys irish cream" + }, + { + "text": "2 cl White Creme de Menthe" + } + ], + "steps": [ + "add all and pour black coffee and add whipped cream on top" + ], + "categories": [ + "Coffee / Tea", + "Coffee Mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14888", + "alias": "zinger", + "name": "Zinger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/iixv4l1485620014.jpg", + "ingredients": [ + { + "text": "4 shots Peachtree schnapps" + }, + { + "text": "4 shots Surge" + } + ], + "steps": [ + "Get a shot glass and pour in three shots of the schnapps", + "Do the same with the Surge Cola", + "Then down it like Scheetz would" + ], + "categories": [ + "Soft Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15691", + "alias": "zoksel", + "name": "Zoksel", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ft8ed01485620930.jpg", + "ingredients": [ + { + "text": "Beer" + }, + { + "text": "Root beer" + }, + { + "text": "Lemonade" + }, + { + "text": "slice Coca-Cola" + }, + { + "text": "7-Up" + }, + { + "text": "Creme de Cassis" + }, + { + "text": "Lemon" + } + ], + "steps": [ + "No specific mixing instructions, just poor every ingredient in one glass", + "The lemon goes with it" + ], + "categories": [ + "Soft Drink", + "Beer pilsner", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17241", + "alias": "zombie", + "name": "Zombie", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2en3jk1509557725.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Rum" + }, + { + "text": "1 1/2 oz Gold rum" + }, + { + "text": "1 oz 151 proof rum" + }, + { + "text": "1 tsp Pernod" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "1 tsp Lime Juice" + }, + { + "text": "1 drop Angostura Bitters" + } + ], + "steps": [ + "Blend at high speed for no more than 5 seconds", + "Pour into a glass, add ice cubes to fill, then add the garnish", + "*Donn’s mix: Bring 3 crushed cinnamon sticks, 1 cup of sugar and 1 cup of water to a boil, stirring until the sugar is dissolved", + "Simmer for 2 minutes, then remove from the heat and let sit for at least 2 hours before straining into a clean glass bottle", + "Then add 1 part of the syrup and 2 parts of fresh grapefruit juice together" + ], + "categories": [ + "Cocktail", + "Hurricane glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15933", + "alias": "zambeer", + "name": "Zambeer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bje5401485619578.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Sambuca" + }, + { + "text": "Add 10 oz Root beer" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Mix sambuca with rootbeer and stir", + "Add ice" + ], + "categories": [ + "Soft Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16963", + "alias": "zorbatini", + "name": "Zorbatini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wtkqgb1485621155.jpg", + "ingredients": [ + { + "text": "1 1/4 oz Stoli Vodka" + }, + { + "text": "1/4 oz Ouzo" + } + ], + "steps": [ + "Prepare like a Martini", + "Garnish with a green olive" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15254", + "alias": "zenmeister", + "name": "Zenmeister", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qyuvsu1479209462.jpg", + "ingredients": [ + { + "text": "1/2 oz Jägermeister" + }, + { + "text": "1/2 oz Root beer" + } + ], + "steps": [ + "Mix together and enjoy" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16942", + "alias": "zipperhead", + "name": "Zipperhead", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/r2qzhu1485620235.jpg", + "ingredients": [ + { + "text": "1 shot Chambord raspberry liqueur" + }, + { + "text": "1 shot Vodka" + }, + { + "text": "Fill with Soda water" + } + ], + "steps": [ + "Fill glass with rocks, add straw before putting in liquor", + "Then add the ingredients in order, trying to keep layered as much as possible (i.e", + "Chambord on bottom, then Vodka, Then soda on top)" + ], + "categories": [ + "Shot", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17027", + "alias": "zima-blaster", + "name": "Zima Blaster", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/1wifuv1485619797.jpg", + "ingredients": [ + { + "text": "12 oz Zima" + }, + { + "text": "3 oz Chambord raspberry liqueur" + } + ], + "steps": [ + "Fill glass with ice", + "Pour in Chambord, then fill with Zima", + "Mix and enjoy" + ], + "categories": [ + "Ordinary Drink", + "Hurricane glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14594", + "alias": "zizi-coin-coin", + "name": "Zizi Coin-coin", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0fbo2t1485620752.jpg", + "ingredients": [ + { + "text": "5 cl Cointreau" + }, + { + "text": "2 cl Lemon juice" + }, + { + "text": "cubes Ice" + }, + { + "text": "or lime Lemon" + } + ], + "steps": [ + "Pour 5cl of Cointreau on ice, add 2cl of fresh lemon (or lime) juice, stir gently, and finally add slices of lemon/lime in glass" + ], + "categories": [ + "Punch / Party Drink", + "Margarita/Coupette glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15801", + "alias": "zimadori-zinger", + "name": "Zimadori Zinger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bw8gzx1485619920.jpg", + "ingredients": [ + { + "text": "1.5 oz Midori melon liqueur" + }, + { + "text": "12 oz Zima" + } + ], + "steps": [ + "Pour Zima in a collins glass over ice and then pour the shot of Midori", + "Don't stir", + "Garnish with a cherry" + ], + "categories": [ + "Punch / Party Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14065", + "alias": "zippys-revenge", + "name": "Zippy's Revenge", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/1sqm7n1485620312.jpg", + "ingredients": [ + { + "text": "2 oz Amaretto" + }, + { + "text": "2 oz Rum" + }, + { + "text": "4 oz Grape Kool-Aid" + } + ], + "steps": [ + "Mix Kool-Aid to taste then add Rum and ammaretto", + "shake well to disolve the sugar in the Kool-Aid", + "serve cold" + ], + "categories": [ + "Cocktail", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14157", + "alias": "ziemes-martini-apfelsaft", + "name": "Ziemes Martini Apfelsaft", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xnzr2p1485619687.jpg", + "ingredients": [ + { + "text": "4 cl Vermouth" + }, + { + "text": "16 cl Apple juice" + } + ], + "steps": [ + "Serve without ice", + "At least the juice shold have room temperature" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + } +] \ No newline at end of file diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/DrinkListFirstElementTransformer.kt b/shared/src/androidMain/kotlin/com/popalay/barnee/util/ResourceReader.kt similarity index 70% rename from shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/DrinkListFirstElementTransformer.kt rename to shared/src/androidMain/kotlin/com/popalay/barnee/util/ResourceReader.kt index f2dd263..cacbe04 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/DrinkListFirstElementTransformer.kt +++ b/shared/src/androidMain/kotlin/com/popalay/barnee/util/ResourceReader.kt @@ -20,14 +20,12 @@ * SOFTWARE. */ -package com.popalay.barnee.data.transformer +package com.popalay.barnee.util -import com.popalay.barnee.data.model.Drink -import kotlinx.serialization.json.JsonArray -import kotlinx.serialization.json.JsonElement -import kotlinx.serialization.json.JsonTransformingSerializer +import android.content.Context +import org.koin.core.context.GlobalContext -object DrinkListFirstElementTransformer : JsonTransformingSerializer(Drink.serializer()) { - override fun transformDeserialize(element: JsonElement): JsonElement = - if (element is JsonArray) element.first() else element +actual fun readResource(fileName: String): String { + val context = GlobalContext.get().get() + return context.assets.open(fileName).bufferedReader().use { it.readText() } } diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalDrinkDataSource.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalDrinkDataSource.kt new file mode 100644 index 0000000..d5fd9c1 --- /dev/null +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalDrinkDataSource.kt @@ -0,0 +1,171 @@ +/* + * Copyright (c) 2025 Denys Nykyforov + * + * 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. + */ + +package com.popalay.barnee.data.local + +import com.popalay.barnee.data.model.Aggregation +import com.popalay.barnee.data.model.AggregationGroup +import com.popalay.barnee.data.model.Drink +import com.popalay.barnee.data.model.FullDrinkResponse +import com.popalay.barnee.data.remote.toDrink +import com.popalay.barnee.data.remote.model.CocktailDbDrink +import com.popalay.barnee.util.readResource +import kotlinx.serialization.json.Json + +internal class LocalDrinkDataSource(private val json: Json) { + + private val drinks: List by lazy { + json.decodeFromString>(readResource("cocktails.json")) + .map { it.toDrink() } + } + + fun drinksByAliases(aliases: Set, skip: Int, take: Int): List = + drinks.filter { it.alias in aliases }.paginate(skip, take) + + fun drinksByTags(tags: Set, skip: Int, take: Int): List { + val normalised = tags.map { it.lowercase() }.toSet() + return drinks.filter { drink -> + drink.occasions.any { it.text.lowercase() in normalised } || + drink.categories.any { it.text.lowercase() in normalised } + }.paginate(skip, take) + } + + fun drinksByQuery(query: String, skip: Int, take: Int): List { + if (query.isBlank()) return drinks.paginate(skip, take) + return when { + query.startsWith("category/") -> { + val value = query.removePrefix("category/").replace('_', ' ').lowercase() + drinks.filter { drink -> drink.categories.any { it.text.lowercase() == value } } + } + query.startsWith("tag/") -> { + val value = query.removePrefix("tag/").lowercase() + drinks.filter { drink -> drink.occasions.any { it.text.lowercase() == value } } + } + query.startsWith("iba/") -> { + val value = query.removePrefix("iba/").lowercase() + drinks.filter { drink -> drink.collections.any { it.text.lowercase() == value } } + } + else -> filterByQuery(query, drinks) + }.paginate(skip, take) + } + + fun random(skip: Int, take: Int): List = + drinks.shuffled().paginate(skip, take) + + fun searchDrinks(query: String, filters: Map>, skip: Int, take: Int): List { + var result = drinks + + if (query.isNotBlank()) { + val q = query.lowercase() + result = result.filter { drink -> + drink.name.lowercase().contains(q) || + drink.ingredients.any { it.text.lowercase().contains(q) } + } + } + + filters.forEach { (group, values) -> + if (values.isEmpty()) return@forEach + val normalised = values.map { it.lowercase().replace('-', ' ') }.toSet() + result = result.filter { drink -> + when (group) { + "withType" -> drink.categories.take(1).any { it.text.lowercase() in normalised } + "servedIn" -> drink.categories.drop(1).take(1).any { it.text.lowercase() in normalised } + "skill" -> drink.categories.drop(2).take(1).any { it.text.lowercase() in normalised } + "tasting" -> drink.occasions.any { it.text.lowercase() in normalised } + "colored" -> drink.occasions.any { it.text.lowercase() in normalised } + else -> true + } + } + } + + return result.paginate(skip, take) + } + + fun similarDrinks(alias: String): List { + val target = drinks.firstOrNull { it.alias == alias } ?: return emptyList() + val targetCategories = target.categories.map { it.text }.toSet() + return drinks + .filter { it.alias != alias && it.categories.any { cat -> cat.text in targetCategories } } + .take(MAX_RELATED) + } + + fun getFullDrink(alias: String): FullDrinkResponse { + val drink = drinks.first { it.alias == alias } + return FullDrinkResponse(relatedDrinks = similarDrinks(alias), drink = drink) + } + + fun getAggregation(): Aggregation = Aggregation( + withType = aggregationGroupFor { drink -> + // First category is always the drink type (Cocktail, Shot, Beer, etc.) + drink.categories.take(1).map { it.text } + }, + servedIn = aggregationGroupFor { drink -> + // Second category is always the glass type + drink.categories.drop(1).take(1).map { it.text } + }, + skill = aggregationGroupFor { drink -> + // Third category is always alcoholic classification + drink.categories.drop(2).take(1).map { it.text } + }, + tasting = aggregationGroupFor { drink -> + drink.occasions.filter { it.text in TASTING_TAGS }.map { it.text } + }, + colored = aggregationGroupFor { drink -> + drink.occasions.filter { it.text in CHARACTER_TAGS }.map { it.text } + }, + ) + + private fun aggregationGroupFor(selector: (Drink) -> List): AggregationGroup { + val counts = mutableMapOf() + drinks.forEach { drink -> + selector(drink).forEach { value -> + counts[value] = (counts[value] ?: 0) + 1 + } + } + return AggregationGroup(counts) + } + + private fun List.paginate(skip: Int, take: Int): List = + drop(skip).take(take) + + private fun filterByQuery(query: String, source: List): List { + if (query.isBlank()) return source + val q = query.lowercase() + return source.filter { drink -> + drink.name.lowercase().contains(q) || + drink.categories.any { it.text.lowercase().contains(q) } || + drink.occasions.any { it.text.lowercase().contains(q) } || + drink.ingredients.any { it.text.lowercase().contains(q) } + } + } + + companion object { + private const val MAX_RELATED = 10 + + private val TASTING_TAGS = setOf( + "Sweet", "Sour", "Bitter", "Citrus", "Fruity", "Fresh", "Savory", "Sharp" + ) + private val CHARACTER_TAGS = setOf( + "Strong", "Mild", "Refreshing", "Bubbly", "Frozen", "Cold", "Dark", "Clear" + ) + } +} diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Aggregation.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Aggregation.kt index e388383..c5368df 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Aggregation.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Aggregation.kt @@ -24,16 +24,6 @@ package com.popalay.barnee.data.model import kotlinx.serialization.Serializable -@Serializable -data class AggregationResponse( - val metaData: AggregationMetadata -) - -@Serializable -data class AggregationMetadata( - val aggregations: Aggregation -) - @Serializable data class Aggregation( val tasting: AggregationGroup, diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/FullDrinkResponse.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/FullDrinkResponse.kt index d1bc657..4aaa9aa 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/FullDrinkResponse.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/FullDrinkResponse.kt @@ -20,15 +20,31 @@ * SOFTWARE. */ -package com.popalay.barnee.data.model +/* + * Copyright (c) 2025 Denys Nykyforov + * + * 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. + */ -import com.popalay.barnee.data.transformer.DrinkListFirstElementTransformer -import kotlinx.serialization.SerialName -import kotlinx.serialization.Serializable +package com.popalay.barnee.data.model -@Serializable data class FullDrinkResponse( val relatedDrinks: List, - @Serializable(with = DrinkListFirstElementTransformer::class) - @SerialName("result") val drink: Drink + val drink: Drink, ) diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/Api.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/Api.kt deleted file mode 100644 index 6ae3a1d..0000000 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/Api.kt +++ /dev/null @@ -1,70 +0,0 @@ -/* - * Copyright (c) 2025 Denys Nykyforov - * - * 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. - */ - -package com.popalay.barnee.data.remote - -import com.popalay.barnee.data.model.Aggregation -import com.popalay.barnee.data.model.AggregationResponse -import com.popalay.barnee.data.model.Drink -import com.popalay.barnee.data.model.DrinksResponse -import com.popalay.barnee.data.model.FullDrinkResponse -import io.ktor.client.HttpClient -import io.ktor.client.call.NoTransformationFoundException -import io.ktor.client.call.body -import io.ktor.client.request.get - -class Api(private val client: HttpClient) { - suspend fun drinks(query: String, skip: Int, take: Int): List = try { - client.get("${baseUrl}drinks/$query?exactmatch=true&skip=$skip&take=$take") - .body().result - } catch (ignore: NoTransformationFoundException) { - emptyList() - } - - suspend fun drinksByAliases(aliases: Set, skip: Int, take: Int): List = - drinks("alias/${aliases.joinToString(",")}", skip, take) - - suspend fun drinksByTags(tags: Set, skip: Int, take: Int): List = - drinks("tag/${tags.joinToString(",")}", skip, take) - - suspend fun random(skip: Int, take: Int): List = - drinks("random/is/specificImage/InEnvironment", skip, take) - - suspend fun searchDrinks(query: String, skip: Int, take: Int): List = try { - client.get("${baseUrl}drinks/$query/is/specificImage/InEnvironment?skip=$skip&take=${take}") - .body().result - } catch (ignore: NoTransformationFoundException) { - emptyList() - } - - suspend fun similarDrinks(alias: String): List = getFullDrink(alias).relatedDrinks - - suspend fun getAggregation(): Aggregation = - client.get("${baseUrl}drinks/aggregations").body().metaData.aggregations - - suspend fun getFullDrink(alias: String): FullDrinkResponse = - client.get("${baseUrl}drink/$alias?size=full&includerelateddrinks=true").body() - - companion object { - private const val baseUrl = "https://api.absolutdrinks.com/" - } -} diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CocktailDbMapper.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CocktailDbMapper.kt new file mode 100644 index 0000000..89edc9f --- /dev/null +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CocktailDbMapper.kt @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2025 Denys Nykyforov + * + * 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. + */ + +package com.popalay.barnee.data.remote + +import com.popalay.barnee.data.model.Category +import com.popalay.barnee.data.model.Drink +import com.popalay.barnee.data.model.ExternalImageUrl +import com.popalay.barnee.data.model.Image +import com.popalay.barnee.data.model.Ingredient +import com.popalay.barnee.data.model.Instruction +import com.popalay.barnee.data.model.InstructionStep +import com.popalay.barnee.data.model.Nutrition +import com.popalay.barnee.data.remote.model.CocktailDbDrink + +internal fun CocktailDbDrink.toDrink(): Drink = Drink( + id = id, + alias = alias, + name = name, + ingredients = ingredients.map { Ingredient(text = it.text) }, + instruction = Instruction(steps = steps.map { InstructionStep(it) }), + images = listOfNotNull(imageUrl?.takeIf { it.isNotBlank() }?.let { Image(uri = ExternalImageUrl(it)) }), + categories = categories.map { Category(text = it, alias = "category/${it.replace(' ', '_')}") }, + occasions = tags.map { Category(text = it, alias = "tag/$it") }, + collections = listOfNotNull(ibaCategory?.let { Category(text = it, alias = "iba/$it") }), + rating = 0, + nutrition = Nutrition(0), +) diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/model/CocktailDbDrink.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/model/CocktailDbDrink.kt new file mode 100644 index 0000000..01f80dd --- /dev/null +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/model/CocktailDbDrink.kt @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2025 Denys Nykyforov + * + * 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. + */ + +package com.popalay.barnee.data.remote.model + +import kotlinx.serialization.Serializable + +@Serializable +data class CocktailDbDrink( + val id: String, + val alias: String, + val name: String, + val imageUrl: String? = null, + val ingredients: List = emptyList(), + val steps: List = emptyList(), + val categories: List = emptyList(), + val tags: List = emptyList(), + val ibaCategory: String? = null, +) + +@Serializable +data class CocktailDbIngredient(val text: String) diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/CollectionRepository.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/CollectionRepository.kt index d94bccc..a8cbe99 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/CollectionRepository.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/CollectionRepository.kt @@ -25,7 +25,7 @@ package com.popalay.barnee.data.repository import com.popalay.barnee.data.local.LocalStore import com.popalay.barnee.data.model.Collection import com.popalay.barnee.data.model.DrinkMinimumData -import com.popalay.barnee.data.remote.Api +import com.popalay.barnee.data.local.LocalDrinkDataSource import com.popalay.barnee.util.capitalizeFirstChar import com.popalay.barnee.util.displayImageUrl import com.popalay.barnee.util.filter @@ -55,7 +55,7 @@ interface CollectionRepository { internal class CollectionRepositoryImpl( private val localStore: LocalStore, - private val api: Api, + private val localDrinkDataSource: LocalDrinkDataSource, private val json: Json ) : CollectionRepository { init { @@ -111,7 +111,7 @@ internal class CollectionRepositoryImpl( override suspend fun saveOrMerge(name: String, aliases: Set) = withContext(Dispatchers.Default) { val collections = collections().first() val targetCollection = aliases.takeIf { it.any(String::isNotEmpty) } - ?.let { runCatching { api.drinksByAliases(it, skip = 0, take = 100) }.getOrNull() } + ?.let { runCatching { localDrinkDataSource.drinksByAliases(it, skip = 0, take = 100) }.getOrNull() } ?.let { drinks -> (collections().first().firstOrNull { it.name == name } ?: Collection(name = name)).let { collection -> collection.copy( diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkRepository.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkRepository.kt index a20814c..905d1c4 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkRepository.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkRepository.kt @@ -31,7 +31,7 @@ import com.popalay.barnee.data.model.Category import com.popalay.barnee.data.model.Drink import com.popalay.barnee.data.model.FullDrinkResponse import com.popalay.barnee.data.remote.AiApi -import com.popalay.barnee.data.remote.Api +import com.popalay.barnee.data.local.LocalDrinkDataSource import com.popalay.barnee.data.repository.DrinksRequest.ByAliases import com.popalay.barnee.data.repository.DrinksRequest.Collection import com.popalay.barnee.data.repository.DrinksRequest.ForQuery @@ -67,7 +67,7 @@ interface DrinkRepository { @OptIn(ExperimentalCoroutinesApi::class) internal class DrinkRepositoryImpl( - private val api: Api, + private val localDrinkDataSource: LocalDrinkDataSource, private val aiApi: AiApi, private val localStore: LocalStore, private val json: Json, @@ -75,18 +75,18 @@ internal class DrinkRepositoryImpl( ) : DrinkRepository { override fun drinks(request: DrinksRequest): Flow> = when (request) { - is RelatedTo -> requestPage { api.similarDrinks(request.alias) } - is ForTags -> requestPage { api.drinksByTags(request.tags, it.skip, it.take) } - is ForQuery -> requestPage { api.drinks(request.query, it.skip, it.take) } - is ByAliases -> requestPage { api.drinksByAliases(request.aliases, it.skip, it.take) } - is Random -> requestPage { api.random(it.skip, it.take) } - is Search -> requestPage { searchDrinks(request.query, request.filters, it) } + is RelatedTo -> requestPage { localDrinkDataSource.similarDrinks(request.alias) } + is ForTags -> requestPage { localDrinkDataSource.drinksByTags(request.tags, it.skip, it.take) } + is ForQuery -> requestPage { localDrinkDataSource.drinksByQuery(request.query, it.skip, it.take) } + is ByAliases -> requestPage { localDrinkDataSource.drinksByAliases(request.aliases, it.skip, it.take) } + is Random -> requestPage { localDrinkDataSource.random(it.skip, it.take) } + is Search -> requestPage { localDrinkDataSource.searchDrinks(request.query, request.filters, it.skip, it.take) } is Collection -> collection(request.name) is Generated -> generatedDrinks() } .distinctUntilChanged() - override fun randomDrink(): Flow = flow { emit(api.random(skip = 0, take = 1).first()) } + override fun randomDrink(): Flow = flow { emit(localDrinkDataSource.random(skip = 0, take = 1).first()) } .flatMapLatest { drink -> collectionRepository.collections() .mapLatest { collections -> drink.copy(userCollections = collections.filter(drink)) } @@ -97,7 +97,7 @@ internal class DrinkRepositoryImpl( if (identifier.startsWith("generated_")) { generatedFullDrink(identifier) } else { - flow { emit(api.getFullDrink(identifier)) } + flow { emit(localDrinkDataSource.getFullDrink(identifier)) } } .flatMapLatest { response -> collectionRepository.collections() @@ -120,48 +120,48 @@ internal class DrinkRepositoryImpl( } .distinctUntilChanged() - override fun aggregation(): Flow = flow { emit(api.getAggregation()) } + override fun aggregation(): Flow = flow { emit(localDrinkDataSource.getAggregation()) } override fun categories(): Flow> = flowOf( listOf( Category( - text = "Iconic", - alias = "story/the famous", + text = "IBA Classics", + alias = "tag/IBA", imageUrl = "v1618925730/categories/most-famous.webp".toImageUrl() ), Category( - text = "Popular", - alias = "rating/80", + text = "Cocktails", + alias = "category/Cocktail", imageUrl = "v1618925107/categories/top-rated.jpg".toImageUrl() ), Category( text = "Easy", - alias = "skill/easy", + alias = "tag/Simple", imageUrl = "v1618923610/categories/easy-to-do.webp".toImageUrl() ), Category( - text = "Hot", - alias = "hot", + text = "Hot drinks", + alias = "category/Coffee / Tea", imageUrl = "v1618923901/categories/hot.webp".toImageUrl() ), Category( - text = "Colling", - alias = "not/hot", + text = "Party", + alias = "category/Punch / Party Drink", imageUrl = "v1618925541/categories/cold.webp".toImageUrl() ), Category( - text = "Fizzy", - alias = "is/carbonated", + text = "Shots", + alias = "category/Shot", imageUrl = "v1618923638/categories/carbonated.webp".toImageUrl() ), Category( text = "Virgin", - alias = "is/not/alcoholic", + alias = "category/Non alcoholic", imageUrl = "v1618923872/categories/non-alcoholic.webp".toImageUrl() ), Category( - text = "Still", - alias = "not/carbonated", + text = "Shakes", + alias = "category/Shake", imageUrl = "v1618923780/categories/non-carbonated.webp".toImageUrl() ) ) @@ -187,33 +187,20 @@ internal class DrinkRepositoryImpl( private fun collection(name: String): Flow> = collectionRepository.collection(name) .take(1) .flatMapLatest { collection -> - DrinkPager { api.drinksByAliases(collection.aliases, it.skip, it.take) }.pages + DrinkPager { localDrinkDataSource.drinksByAliases(collection.aliases, it.skip, it.take) }.pages .flatMapLatest { pagedDrinks -> collectionRepository.collection(name) .flatMapLatest { newCollection -> (if (collection.aliases.containsAll(newCollection.aliases)) { flowOf(pagedDrinks.filter { it.alias in newCollection.aliases }) } else { - DrinkPager { api.drinksByAliases(newCollection.aliases, it.skip, it.take) }.pages + DrinkPager { localDrinkDataSource.drinksByAliases(newCollection.aliases, it.skip, it.take) }.pages }) .map { drinks -> drinks.map { it.copy(userCollections = listOf(newCollection)) } } } } } - private suspend fun searchDrinks( - query: String, - filters: Map>, - pageRequest: PageRequest - ): List { - val searchRequest = filters - .filter { it.key.isNotBlank() && it.value.isNotEmpty() } - .map { it.key + "/" + it.value.joinToString(",") } - .joinToString(separator = "/", prefix = query.takeIf { it.isNotBlank() }?.let { "search/$it/" } ?: "") - - return api.searchDrinks(searchRequest, pageRequest.skip, pageRequest.take) - } - companion object { private const val KEY_GENERATED_DRINKS = "KEY_GENERATED_DRINKS" } diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/di/Koin.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/di/Koin.kt index dd25dbc..bd0dd81 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/di/Koin.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/di/Koin.kt @@ -29,7 +29,7 @@ import com.popalay.barnee.data.local.LocalStoreImpl import com.popalay.barnee.data.message.MessagesProvider import com.popalay.barnee.data.model.DrinkMinimumData import com.popalay.barnee.data.remote.AiApi -import com.popalay.barnee.data.remote.Api +import com.popalay.barnee.data.local.LocalDrinkDataSource import com.popalay.barnee.data.remote.CloudinaryApi import com.popalay.barnee.data.repository.CollectionRepository import com.popalay.barnee.data.repository.CollectionRepositoryImpl @@ -79,7 +79,7 @@ import com.aallam.openai.api.logging.Logger as OpenAiLogger val commonModule = module { single { StateMachineLogger() } - single { Api(get()) } + single { LocalDrinkDataSource(get()) } single { LocalStoreImpl(get()) } single { Json { diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/DrinksResponse.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/util/ResourceReader.kt similarity index 88% rename from shared/src/commonMain/kotlin/com/popalay/barnee/data/model/DrinksResponse.kt rename to shared/src/commonMain/kotlin/com/popalay/barnee/util/ResourceReader.kt index b5090be..977a360 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/DrinksResponse.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/util/ResourceReader.kt @@ -20,11 +20,6 @@ * SOFTWARE. */ -package com.popalay.barnee.data.model +package com.popalay.barnee.util -import kotlinx.serialization.Serializable - -@Serializable -data class DrinksResponse( - val result: List -) +expect fun readResource(fileName: String): String diff --git a/shared/src/commonMain/resources/cocktails.json b/shared/src/commonMain/resources/cocktails.json new file mode 100644 index 0000000..c5f033c --- /dev/null +++ b/shared/src/commonMain/resources/cocktails.json @@ -0,0 +1,13723 @@ +[ + { + "id": "17222", + "alias": "a1", + "name": "A1", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2x8thr1504816928.jpg", + "ingredients": [ + { + "text": "1 3/4 shot Gin" + }, + { + "text": "1 Shot Grand Marnier" + }, + { + "text": "1/4 Shot Lemon Juice" + }, + { + "text": "1/8 Shot Grenadine" + } + ], + "steps": [ + "Pour all ingredients into a cocktail shaker, mix and serve over ice into a chilled glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13501", + "alias": "abc", + "name": "ABC", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tqpvqp1472668328.jpg", + "ingredients": [ + { + "text": "1/3 Amaretto" + }, + { + "text": "1/3 Baileys irish cream" + }, + { + "text": "1/3 Cognac" + } + ], + "steps": [ + "Layered in a shot glass" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17225", + "alias": "ace", + "name": "Ace", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/l3cd7f1504818306.jpg", + "ingredients": [ + { + "text": "2 shots Gin" + }, + { + "text": "1/2 shot Grenadine" + }, + { + "text": "1/2 shot Heavy cream" + }, + { + "text": "1/2 shot Milk" + }, + { + "text": "1/2 Fresh Egg White" + } + ], + "steps": [ + "Shake all the ingredients in a cocktail shaker and ice then strain in a cold glass" + ], + "categories": [ + "Cocktail", + "Martini Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14610", + "alias": "acid", + "name": "ACID", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xuxpxt1479209317.jpg", + "ingredients": [ + { + "text": "1 oz Bacardi 151 proof rum" + }, + { + "text": "1 oz Wild Turkey" + } + ], + "steps": [ + "Poor in the 151 first followed by the 101 served with a Coke or Dr Pepper chaser" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13938", + "alias": "att", + "name": "AT&T", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rhhwmp1493067619.jpg", + "ingredients": [ + { + "text": "1 oz Absolut Vodka" + }, + { + "text": "1 oz Gin" + }, + { + "text": "4 oz Tonic water" + } + ], + "steps": [ + "Pour Vodka and Gin over ice, add Tonic and Stir" + ], + "categories": [ + "Ordinary Drink", + "Highball Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17837", + "alias": "adam", + "name": "Adam", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/v0at4i1582478473.jpg", + "ingredients": [ + { + "text": "2 oz Dark rum" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1 tsp Grenadine" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Alcoholic", + "Holiday" + ], + "ibaCategory": null + }, + { + "id": "17833", + "alias": "a-j", + "name": "A. J.", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/l74qo91582480316.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Applejack" + }, + { + "text": "1 oz Grapefruit juice" + } + ], + "steps": [ + "Shake ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17839", + "alias": "affair", + "name": "Affair", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/h5za6y1582477994.jpg", + "ingredients": [ + { + "text": "2 oz Strawberry schnapps" + }, + { + "text": "2 oz Orange juice" + }, + { + "text": "2 oz Cranberry juice" + }, + { + "text": "Club soda" + } + ], + "steps": [ + "Pour schnapps, orange juice, and cranberry juice over ice in a highball glass", + "Top with club soda and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15266", + "alias": "avalon", + "name": "Avalon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3k9qic1493068931.jpg", + "ingredients": [ + { + "text": "3 parts Vodka" + }, + { + "text": "1 part Pisang Ambon" + }, + { + "text": "6 parts Apple juice" + }, + { + "text": "1 1/2 part Lemon juice" + }, + { + "text": "Lemonade" + } + ], + "steps": [ + "Fill a tall glass with ice", + "Layer the Finlandia Vodka, lemon and apple juices, Pisang Ambon, and top up with lemonade", + "Stir slightly and garnish with a spiralled cucumber skin and a red cherry", + "The cucumber provides zest and looks attractive", + "This drink, created by Timo Haimi, took first prize in the 1991 Finlandia Vodka Long Drink Competition" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15106", + "alias": "apello", + "name": "Apello", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uptxtv1468876415.jpg", + "ingredients": [ + { + "text": "4 cl Orange juice" + }, + { + "text": "3 cl Grapefruit juice" + }, + { + "text": "1 cl Apple juice" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "Stirr", + "Grnish with maraschino cherry" + ], + "categories": [ + "Other / Unknown", + "Collins Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11023", + "alias": "almeria", + "name": "Almeria", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rwsyyu1483388181.jpg", + "ingredients": [ + { + "text": "2 oz Dark rum" + }, + { + "text": "1 oz Kahlua" + }, + { + "text": "1 Egg white" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17835", + "alias": "abilene", + "name": "Abilene", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/smb2oe1582479072.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dark rum" + }, + { + "text": "2 oz Peach nectar" + }, + { + "text": "3 oz Orange juice" + } + ], + "steps": [ + "Pour all of the ingredients into a highball glass almost filled with ice cubes", + "Stir well" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17228", + "alias": "addison", + "name": "Addison", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yzva7x1504820300.jpg", + "ingredients": [ + { + "text": "1 1/2 shot Gin" + }, + { + "text": "1 1/2 shot Vermouth" + } + ], + "steps": [ + "Shake together all the ingredients and strain into a cold glass" + ], + "categories": [ + "Cocktail", + "Martini Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17180", + "alias": "aviation", + "name": "Aviation", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/trbplb1606855233.jpg", + "ingredients": [ + { + "text": "4.5 cl Gin" + }, + { + "text": "1.5 cl lemon juice" + }, + { + "text": "1.5 cl maraschino liqueur" + } + ], + "steps": [ + "Add all ingredients into cocktail shaker filled with ice", + "Shake well and strain into cocktail glass", + "Garnish with a cherry" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11046", + "alias": "applecar", + "name": "Applecar", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sbffau1504389764.jpg", + "ingredients": [ + { + "text": "1 oz Applejack" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 oz Lemon juice" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17840", + "alias": "affinity", + "name": "Affinity", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wzdtnn1582477684.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1 oz Dry Vermouth" + }, + { + "text": "2 dashes Orange bitters" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine all of the ingredients", + "Stir well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17836", + "alias": "acapulco", + "name": "Acapulco", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/il9e0r1582478841.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "1 1/2 tsp Triple sec" + }, + { + "text": "1 tblsp Lime juice" + }, + { + "text": "1 tsp Sugar" + }, + { + "text": "1 Egg white" + }, + { + "text": "1 Mint" + } + ], + "steps": [ + "Combine and shake all ingredients (except mint) with ice and strain into an old-fashioned glass over ice cubes", + "Add the sprig of mint and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11014", + "alias": "alexander", + "name": "Alexander", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0clus51606772388.jpg", + "ingredients": [ + { + "text": "1/2 oz Gin" + }, + { + "text": "1/2 oz white Creme de Cacao" + }, + { + "text": "2 oz Light cream" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Shake all ingredients with ice and strain contents into a cocktail glass", + "Sprinkle nutmeg on top and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Dairy" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "16419", + "alias": "avalanche", + "name": "Avalanche", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uppqty1472720165.jpg", + "ingredients": [ + { + "text": "1 shot Crown Royal" + }, + { + "text": "1 shot Kahlua" + }, + { + "text": "Fill with Cream" + } + ], + "steps": [ + "Mix in highball glass over ice, shake well" + ], + "categories": [ + "Shake", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11021", + "alias": "allegheny", + "name": "Allegheny", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uwvyts1483387934.jpg", + "ingredients": [ + { + "text": "1 oz Dry Vermouth" + }, + { + "text": "1 oz Bourbon" + }, + { + "text": "1 1/2 tsp Blackberry brandy" + }, + { + "text": "1 1/2 tsp Lemon juice" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Shake all ingredients (except lemon peel) with ice and strain into a cocktail glass", + "Top with the twist of lemon peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15941", + "alias": "americano", + "name": "Americano", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/709s6m1613655124.jpg", + "ingredients": [ + { + "text": "1 oz Campari" + }, + { + "text": "1 oz red Sweet Vermouth" + }, + { + "text": "Twist of Lemon peel" + }, + { + "text": "Twist of Orange peel" + } + ], + "steps": [ + "Pour the Campari and vermouth over ice into glass, add a splash of soda water and garnish with half orange slice" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11020", + "alias": "algonquin", + "name": "Algonquin", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uwryxx1483387873.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Blended whiskey" + }, + { + "text": "1 oz Dry Vermouth" + }, + { + "text": "1 oz Pineapple juice" + } + ], + "steps": [ + "Combine and shake all ingredients with ice, strain contents into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11055", + "alias": "artillery", + "name": "Artillery", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/g1vnbe1493067747.jpg", + "ingredients": [ + { + "text": "1 1/2 tsp Sweet Vermouth" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "2 dashes Bitters" + } + ], + "steps": [ + "Stir all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12560", + "alias": "afterglow", + "name": "Afterglow", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vuquyv1468876052.jpg", + "ingredients": [ + { + "text": "1 part Grenadine" + }, + { + "text": "4 parts Orange juice" + }, + { + "text": "4 parts Pineapple juice" + } + ], + "steps": [ + "Mix", + "Serve over ice" + ], + "categories": [ + "Cocktail", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17227", + "alias": "addington", + "name": "Addington", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ib0b7g1504818925.jpg", + "ingredients": [ + { + "text": "2 shots Sweet Vermouth" + }, + { + "text": "1 shot Dry Vermouth" + }, + { + "text": "Top up with Soda Water" + } + ], + "steps": [ + "Mix both the vermouth's in a shaker and strain into a cold glass", + "Top up with a squirt of Soda Water" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15853", + "alias": "b-52", + "name": "B-52", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5a3vg61504372070.jpg", + "ingredients": [ + { + "text": "1/3 Baileys irish cream" + }, + { + "text": "1/3 Grand Marnier" + }, + { + "text": "1/4 Kahlua" + } + ], + "steps": [ + "Layer ingredients into a shot glass", + "Serve with a stirrer" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "13332", + "alias": "b-53", + "name": "B-53", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rwqxrv1461866023.jpg", + "ingredients": [ + { + "text": "1/3 shot Kahlua" + }, + { + "text": "1/3 shot Sambuca" + }, + { + "text": "1/3 shot Grand Marnier" + } + ], + "steps": [ + "Layer the Kahlua, Sambucca and Grand Marnier into a shot glas in that order", + "Better than B-52" + ], + "categories": [ + "Shot", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17254", + "alias": "bijou", + "name": "Bijou", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rysb3r1513706985.jpg", + "ingredients": [ + { + "text": "1 dash Orange Bitters" + }, + { + "text": "1 oz Green Chartreuse" + }, + { + "text": "1 oz Gin" + }, + { + "text": "1 oz Sweet Vermouth" + } + ], + "steps": [ + "Stir in mixing glass with ice and strain" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11149", + "alias": "boxcar", + "name": "Boxcar", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pwgtpa1504366376.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 tsp Lemon juice" + }, + { + "text": "1/2 tsp Grenadine" + }, + { + "text": "1 Egg white" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a sour glass" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13222", + "alias": "big-red", + "name": "Big Red", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yqwuwu1441248116.jpg", + "ingredients": [ + { + "text": "1/2 oz Irish cream" + }, + { + "text": "1/2 oz Goldschlager" + } + ], + "steps": [ + "Pour ingredients into 1 ounce shot glass" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17195", + "alias": "bellini", + "name": "Bellini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/eaag491504367543.jpg", + "ingredients": [ + { + "text": "6 oz Champagne" + }, + { + "text": "1 oz Peach schnapps" + } + ], + "steps": [ + "Pour peach purée into chilled flute, add sparkling wine", + "Stir gently" + ], + "categories": [ + "Ordinary Drink", + "Champagne Flute", + "Alcoholic" + ], + "tags": [ + "ContemporaryClassic", + "IBA" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "17210", + "alias": "bramble", + "name": "Bramble", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/twtbh51630406392.jpg", + "ingredients": [ + { + "text": "4 cl Gin" + }, + { + "text": "1.5 cl lemon juice" + }, + { + "text": "1 cl Sugar syrup" + }, + { + "text": "1.5 cl Creme de Mure" + } + ], + "steps": [ + "Fill glass with crushed ice", + "Build gin, lemon juice and simple syrup over", + "Stir, and then pour blackberry liqueur over in a circular fashion to create marbling effect", + "Garnish with two blackberries and lemon slice" + ], + "categories": [ + "Ordinary Drink", + "Old-Fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "11060", + "alias": "balmoral", + "name": "Balmoral", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vysuyq1441206297.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "1/2 oz Sweet Vermouth" + }, + { + "text": "1/2 oz Dry Vermouth" + }, + { + "text": "2 dashes Bitters" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine all of the ingredients", + "Stir well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11120", + "alias": "bluebird", + "name": "Bluebird", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5jhyd01582579843.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1/2 oz Blue Curacao" + }, + { + "text": "2 dashes Bitters" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "In a mixing glass half-filled with crushed ice, combine the gin, triple sec, Curacao, and bitters", + "Stir well", + "Strain into a cocktail glass and garnish with the lemon twist and the cherry" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178310", + "alias": "brooklyn", + "name": "Brooklyn", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ojsezf1582477277.jpg", + "ingredients": [ + { + "text": "2 oz Rye Whiskey" + }, + { + "text": "1 oz Dry Vermouth" + }, + { + "text": "1/4 oz Maraschino Liqueur" + }, + { + "text": "3 dashes Angostura Bitters" + }, + { + "text": "1 Maraschino Cherry" + } + ], + "steps": [ + "Combine ingredients with ice and stir until well-chilled", + "Strain into a chilled cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Alcoholic", + "Sweet", + "DateNight", + "USA" + ], + "ibaCategory": null + }, + { + "id": "12572", + "alias": "bora-bora", + "name": "Bora Bora", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xwuqvw1473201811.jpg", + "ingredients": [ + { + "text": "10 cl Pineapple juice" + }, + { + "text": "6 cl Passion fruit juice" + }, + { + "text": "1 cl Lemon juice" + }, + { + "text": "1 cl Grenadine" + } + ], + "steps": [ + "Prepare in a blender or shaker, serve in a highball glass on the rocks", + "Garnish with 1 slice of pineapple and one cherry" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11124", + "alias": "boomerang", + "name": "Boomerang", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3m6yz81504389551.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1/2 oz Dry Vermouth" + }, + { + "text": "2 dashes Bitters" + }, + { + "text": "1/2 tsp Maraschino liqueur" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine the gin, vermouth, bitters, and maraschino liqueur", + "Stir well", + "Strain into a cocktail glass and garnish with the cherry" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17209", + "alias": "barracuda", + "name": "Barracuda", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jwmr1x1504372337.jpg", + "ingredients": [ + { + "text": "4.5 cl Rum" + }, + { + "text": "1.5 cl Galliano" + }, + { + "text": "6 cl Pineapple Juice" + }, + { + "text": "1 dash Lime Juice" + }, + { + "text": "top up Prosecco" + } + ], + "steps": [ + "Shake pour ingredients with ice", + "Strain into glass, top with Sparkling wine" + ], + "categories": [ + "Ordinary Drink", + "Margarita glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "17825", + "alias": "brigadier", + "name": "Brigadier", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/nl89tf1518947401.jpg", + "ingredients": [ + { + "text": "4 oz Hot Chocolate" + }, + { + "text": "1 oz Green Chartreuse" + }, + { + "text": "1 oz Cherry Heering" + } + ], + "steps": [ + "Mix ingredients in a warmed mug and stir" + ], + "categories": [ + "Cocktail", + "Coupe Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178311", + "alias": "broadside", + "name": "Broadside", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/l2o6xu1582476870.jpg", + "ingredients": [ + { + "text": "1 shot 151 proof rum" + }, + { + "text": "1/2 shot Scotch" + }, + { + "text": "3 drops Bitters" + }, + { + "text": "1 Fresh Wormwood" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Half fill the glass with ice cubes", + "Crush the wormwood and add to ice", + "Pour rum, scotch and butters, then serve!" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17035", + "alias": "buccaneer", + "name": "Buccaneer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/upvtyt1441249023.jpg", + "ingredients": [ + { + "text": "1 Corona" + }, + { + "text": "1 shot Bacardi Limon" + } + ], + "steps": [ + "Pour the corona into an 18oz beer glass pour the bacardi limon into the beer stir very gently" + ], + "categories": [ + "Beer", + "Beer pilsner", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17120", + "alias": "brain-fart", + "name": "Brain Fart", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rz5aun1504389701.jpg", + "ingredients": [ + { + "text": "1 fifth Everclear" + }, + { + "text": "1 fifth Smirnoff red label Vodka" + }, + { + "text": "2 L Mountain Dew" + }, + { + "text": "2 L Surge" + }, + { + "text": "1 small bottle Lemon juice" + }, + { + "text": "1 pint Rum" + } + ], + "steps": [ + "Mix all ingredients together", + "Slowly and gently", + "Works best if ice is added to punch bowl and soda's are very cold" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11106", + "alias": "blackthorn", + "name": "Blackthorn", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/dgj92f1616098672.jpg", + "ingredients": [ + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1 1/2 oz Sloe gin" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Stir sloe gin and vermouth with ice and strain into a cocktail glass", + "Add the twist of lemon peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13395", + "alias": "bob-marley", + "name": "Bob Marley", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rrqrst1477140664.jpg", + "ingredients": [ + { + "text": "1/2 oz Midori melon liqueur" + }, + { + "text": "1/2 oz Jägermeister" + }, + { + "text": "1/2 oz Goldschlager" + } + ], + "steps": [ + "Layer in a 2 oz shot glass or pony glass" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16986", + "alias": "bible-belt", + "name": "Bible Belt", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6bec6v1503563675.jpg", + "ingredients": [ + { + "text": "2 oz Southern Comfort" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "2 wedges Lime" + }, + { + "text": "2 oz Sour mix" + } + ], + "steps": [ + "Mix all ingredients, and pour over ice" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14730", + "alias": "bubble-gum", + "name": "Bubble Gum", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/spuurv1468878783.jpg", + "ingredients": [ + { + "text": "1/4 Vodka" + }, + { + "text": "1/4 Banana liqueur" + }, + { + "text": "1/4 Orange juice" + }, + { + "text": "1/4 Peach schnapps" + } + ], + "steps": [ + "Layer in order into a shot glass" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14538", + "alias": "bumble-bee", + "name": "Bumble Bee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uwqpvv1461866378.jpg", + "ingredients": [ + { + "text": "1/3 oz Baileys irish cream" + }, + { + "text": "1/3 oz Kahlua" + }, + { + "text": "1/3 oz Sambuca" + } + ], + "steps": [ + "This is a layered shot", + "First pour the Bailey's into the shot glass", + "Then take an upside down spoon and touch it to the inside wall of the glass", + "Carefully add the Kahlua", + "Repeat this process for the Sambuca", + "If done properly, the alcohol will stay separated and resemble a bumble bee", + "Enjoy!!!" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15511", + "alias": "baby-eskimo", + "name": "Baby Eskimo", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wywrtw1472720227.jpg", + "ingredients": [ + { + "text": "2 oz Kahlua" + }, + { + "text": "8 oz Milk" + }, + { + "text": "2 scoops Vanilla ice-cream" + } + ], + "steps": [ + "Leave ice-cream out for about 10 minutes", + "Add ingredients in order, stir with chopstick (butter knife or spoon works too)", + "Consume immediately and often", + "Nice and light, great for following a heavy drink" + ], + "categories": [ + "Shake", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11129", + "alias": "boston-sour", + "name": "Boston Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kxlgbi1504366100.jpg", + "ingredients": [ + { + "text": "2 oz Blended whiskey" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 Egg white" + }, + { + "text": "1 slice Lemon" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Shake juice of lemon, powdered sugar, blended whiskey, and egg white with cracked ice and strain into a whiskey sour glass", + "Add the slice of lemon, top with the cherry, and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17267", + "alias": "bahama-mama", + "name": "Bahama Mama", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tyb4a41515793339.jpg", + "ingredients": [ + { + "text": "3 parts Rum" + }, + { + "text": "1 part Dark Rum" + }, + { + "text": "1 part Banana liqueur" + }, + { + "text": "1 part Grenadine" + }, + { + "text": "2 parts Pineapple Juice" + }, + { + "text": "2 parts Orange Juice" + }, + { + "text": "1 part Sweet and Sour" + } + ], + "steps": [ + "Add 2 parts club soda or more or less to taste", + "Mix it all together and pour over a bunch of ice", + "Drink with a straw" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17185", + "alias": "casino", + "name": "Casino", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/1mvjxg1504348579.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1/4 tsp Maraschino liqueur" + }, + { + "text": "1/4 tsp Lemon juice" + }, + { + "text": "2 dashes Orange bitters" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Pour all ingredients into shaker with ice cubes", + "Shake well", + "Strain into chilled cocktail glass", + "Garnish with a lemon twist and a maraschino cherry", + "Serve without a straw" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "14181", + "alias": "cafe-savoy", + "name": "Cafe Savoy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vqwptt1441247711.jpg", + "ingredients": [ + { + "text": "Coffee" + }, + { + "text": "1/2 oz Milk" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "Brandy" + } + ], + "steps": [ + "Fill mug almost to top with coffee.Add milk, triple sec and brandy", + "Stir" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11202", + "alias": "caipirinha", + "name": "Caipirinha", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jgvn7p1582484435.jpg", + "ingredients": [ + { + "text": "2 tsp Sugar" + }, + { + "text": "1 Lime" + }, + { + "text": "2 1/2 oz Cachaca" + } + ], + "steps": [ + "Place lime and sugar into old fashioned glass and muddle (mash the two ingredients together using a muddler or a wooden spoon)", + "Fill the glass with ice and add the Cachaça" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "ContemporaryClassic", + "IBA" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "14608", + "alias": "cream-soda", + "name": "Cream Soda", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yqstxr1479209367.jpg", + "ingredients": [ + { + "text": "1 oz Spiced rum" + }, + { + "text": "Ginger ale" + } + ], + "steps": [ + "Pour 1oz of Spiced Rum into a highball glass with ice", + "Fill with Ginger Ale" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13751", + "alias": "cuba-libra", + "name": "Cuba Libra", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ck6d0p1504388696.jpg", + "ingredients": [ + { + "text": "1-2 shot Dark rum" + }, + { + "text": "Squeeze Lime" + }, + { + "text": "Fill with Coca-Cola" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Fill tall glass with ice cubes", + "Add rum", + "Rub cut edge of lime on rim of glass then squeeze juice into glass", + "Fill with Coca-Cola", + "Garnish with lime slice", + "Enjoy!" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11239", + "alias": "cherry-rum", + "name": "Cherry Rum", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/twsuvr1441554424.jpg", + "ingredients": [ + { + "text": "1 1/4 oz Light rum" + }, + { + "text": "1 1/2 tsp Cherry brandy" + }, + { + "text": "1 tblsp Light cream" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11288", + "alias": "cuba-libre", + "name": "Cuba Libre", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wmkbfj1606853905.jpg", + "ingredients": [ + { + "text": "2 oz Light rum" + }, + { + "text": "Juice of 1/2 Lime" + }, + { + "text": "Coca-Cola" + } + ], + "steps": [ + "Build all ingredients in a Collins glass filled with ice", + "Garnish with lime wedge" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "17830", + "alias": "corn-n-oil", + "name": "Corn n Oil", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pk6dwi1592767243.jpg", + "ingredients": [ + { + "text": "1/2 Lime" + }, + { + "text": "1/3 oz Falernum" + }, + { + "text": "2 dashes Angostura Bitters" + }, + { + "text": "1 oz Añejo rum" + }, + { + "text": "1 oz blackstrap rum" + } + ], + "steps": [ + "Cut the half lime in half again", + "Add the lime, falernum, and bitters to a rocks glass", + "Muddle", + "Add the rum", + "(Aged Barbados rum such as Plantation 5 Year is recommended)", + "Add ice and stir", + "Float the blackstrap rum on top", + "Serve with a straw" + ], + "categories": [ + "Cocktail", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17135", + "alias": "citrus-coke", + "name": "Citrus Coke", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uyrvut1479473214.jpg", + "ingredients": [ + { + "text": "1 part Bacardi Limon" + }, + { + "text": "2 parts Coca-Cola" + } + ], + "steps": [ + "Pour half of coke in a glass", + "Then add Bacardi and top it off with the remaining coke", + "Stir and drink up!" + ], + "categories": [ + "Soft Drink", + "Highball Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11222", + "alias": "casa-blanca", + "name": "Casa Blanca", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/usspxq1441553762.jpg", + "ingredients": [ + { + "text": "2 oz Light rum" + }, + { + "text": "1 1/2 tsp Triple sec" + }, + { + "text": "1 1/2 tsp Lime juice" + }, + { + "text": "1 1/2 tsp Maraschino liqueur" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17186", + "alias": "clover-club", + "name": "Clover Club", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/t0aja61504348715.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "2 tsp Grenadine" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 Egg white" + } + ], + "steps": [ + "Dry shake ingredients to emulsify, add ice, shake and served straight up" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "13206", + "alias": "caipirissima", + "name": "Caipirissima", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yd47111503565515.jpg", + "ingredients": [ + { + "text": "2 Lime" + }, + { + "text": "2 tblsp Sugar" + }, + { + "text": "2-3 oz White rum" + }, + { + "text": "crushed Ice" + } + ], + "steps": [ + "Same as Caipirinha but instead of cachaca you add WHITE RUM", + "It's great!!!!!!!!" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11251", + "alias": "city-slicker", + "name": "City Slicker", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/dazdlg1504366949.jpg", + "ingredients": [ + { + "text": "2 oz Brandy" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1 tblsp Lemon juice" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16047", + "alias": "campari-beer", + "name": "Campari Beer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xsqrup1441249130.jpg", + "ingredients": [ + { + "text": "1 bottle Lager" + }, + { + "text": "1 1/2 cl Campari" + } + ], + "steps": [ + "Use a 15 oz glass", + "Add Campari first", + "Fill with beer" + ], + "categories": [ + "Beer", + "Beer mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11242", + "alias": "chicago-fizz", + "name": "Chicago Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qwvwqr1441207763.jpg", + "ingredients": [ + { + "text": "1 oz Light rum" + }, + { + "text": "1 oz Port" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 Egg white" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients (except carbonated water) with ice and strain into a highball glass over two ice cubes", + "Fill with carbonated water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17196", + "alias": "cosmopolitan", + "name": "Cosmopolitan", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kpsajh1504368362.jpg", + "ingredients": [ + { + "text": "1 1/4 oz Vodka" + }, + { + "text": "1/4 oz Lime juice" + }, + { + "text": "1/4 oz Cointreau" + }, + { + "text": "1/4 cup Cranberry juice" + } + ], + "steps": [ + "Add all ingredients into cocktail shaker filled with ice", + "Shake well and double strain into large cocktail glass", + "Garnish with lime wheel" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "12800", + "alias": "coffee-vodka", + "name": "Coffee-Vodka", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qvrrvu1472667494.jpg", + "ingredients": [ + { + "text": "2 cups Water" + }, + { + "text": "2 cups white Sugar" + }, + { + "text": "1/2 cup instant Coffee" + }, + { + "text": "1/2 Vanilla" + }, + { + "text": "1 1/2 cup Vodka" + }, + { + "text": "Caramel coloring" + } + ], + "steps": [ + "Boil water and sugar until dissolved", + "Turn off heat", + "Slowly add dry instant coffee and continue stirring", + "Add a chopped vanilla bean to the vodka, then combine the cooled sugar syrup and coffee solution with the vodka", + "Cover tightly and shake vigorously each day for 3 weeks", + "Strain and filter", + "Its also best to let the sugar mixture cool completely so the vodka won't evaporate when its added", + "If you like a smoother feel to the liqueur you can add about 1 teaspoon of glycerine to the finished product" + ], + "categories": [ + "Homemade Liqueur", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11224", + "alias": "casino-royale", + "name": "Casino Royale", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3qpv121504366699.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1/2 oz Lemon juice" + }, + { + "text": "1 tsp Maraschino liqueur" + }, + { + "text": "1 dash Orange bitters" + }, + { + "text": "1 Egg yolk" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a sour glass" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17250", + "alias": "corpse-reviver", + "name": "Corpse Reviver", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/gifgao1513704334.jpg", + "ingredients": [ + { + "text": "3/4 oz Gin" + }, + { + "text": "3/4 oz Triple Sec" + }, + { + "text": "3/4 oz Lillet Blanc" + }, + { + "text": "3/4 oz Lemon Juice" + }, + { + "text": "1 dash Absinthe" + } + ], + "steps": [ + "Shake, strain, straight up, cocktail glass rinsed with absinthe" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13328", + "alias": "chocolate-milk", + "name": "Chocolate Milk", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/j6q35t1504889399.jpg", + "ingredients": [ + { + "text": "1/2 shot Chocolate liqueur" + }, + { + "text": "1/2 shot Milk" + }, + { + "text": "1 dash Amaretto" + } + ], + "steps": [ + "Put the milk in the bottom, pour the Liquer on top and add the dash of amaretto", + "Do not mix", + "SLAM IT!" + ], + "categories": [ + "Shot", + "Shot Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11255", + "alias": "clove-cocktail", + "name": "Clove Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qxvtst1461867579.jpg", + "ingredients": [ + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1/2 oz Sloe gin" + }, + { + "text": "1/2 oz Muscatel Wine" + } + ], + "steps": [ + "Stir all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12798", + "alias": "coffee-liqueur", + "name": "Coffee Liqueur", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ryvtsu1441253851.jpg", + "ingredients": [ + { + "text": "10 tblsp instant Coffee" + }, + { + "text": "4 tblsp Vanilla extract" + }, + { + "text": "2 1/2 cups Sugar" + }, + { + "text": "1 qt Vodka" + }, + { + "text": "2 1/2 cups Water" + } + ], + "steps": [ + "Combine coffee, sugar and water", + "Simmer 1 hour and let cool", + "Add vanilla and vodka", + "Age in sealed jar 2 to 3 weeks" + ], + "categories": [ + "Homemade Liqueur", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17108", + "alias": "coke-and-drops", + "name": "Coke and Drops", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yrtxxp1472719367.jpg", + "ingredients": [ + { + "text": "1 dl Coca-Cola" + }, + { + "text": "7 drops Lemon juice" + } + ], + "steps": [ + "Take a glass, pour the Coke in the glass, then you take 7 drops of lemon juice", + "Granish with a lemon slice on the rim of the glass" + ], + "categories": [ + "Soft Drink", + "Cocktail glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12734", + "alias": "chocolate-drink", + "name": "Chocolate Drink", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/q7w4xu1487603180.jpg", + "ingredients": [ + { + "text": "125 gr Chocolate" + }, + { + "text": "3/4 L Milk" + }, + { + "text": "Water" + } + ], + "steps": [ + "Melt the bar in a small amount of boiling water", + "Add milk", + "Cook over low heat, whipping gently (with a whisk, i would assume) until heated well", + "Don't let it boil!", + "Serve in coffee mug" + ], + "categories": [ + "Cocoa", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12890", + "alias": "cranberry-punch", + "name": "Cranberry Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mzgaqu1504389248.jpg", + "ingredients": [ + { + "text": "4 cups Cranberry juice" + }, + { + "text": "1 1/2 cup Sugar" + }, + { + "text": "4 cups Pineapple juice" + }, + { + "text": "1 tblsp Almond flavoring" + }, + { + "text": "2 qt Ginger ale" + } + ], + "steps": [ + "Combine first four ingredients", + "Stir until sugar is dissolved, chill", + "Then add ginger ale just before serving", + "Add ice ring to keep punch cold" + ], + "categories": [ + "Punch / Party Drink", + "Punch Bowl", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17187", + "alias": "derby", + "name": "Derby", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/52weey1606772672.jpg", + "ingredients": [ + { + "text": "6 cl gin" + }, + { + "text": "2 dashes Peach Bitters" + }, + { + "text": "2 Fresh leaves Mint" + } + ], + "steps": [ + "Pour all ingredients into a mixing glass with ice", + "Stir", + "Strain into a cocktail glass", + "Garnish with a sprig of fresh mint in the drink" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Classic", + "IBA" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "13128", + "alias": "diesel", + "name": "Diesel", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sxrrqq1454512852.jpg", + "ingredients": [ + { + "text": "1/2 pint Lager" + }, + { + "text": "1/2 pint Cider" + }, + { + "text": "1 dash Blackcurrant cordial" + } + ], + "steps": [ + "Pour the lager first then add the blackcurrant cordial", + "Top up with the cider", + "The colour sholud be very dark approaching the colour of Guiness" + ], + "categories": [ + "Beer", + "Pint glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11006", + "alias": "daiquiri", + "name": "Daiquiri", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mrz9091589574515.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "Juice of 1/2 Lime" + }, + { + "text": "1 tsp Powdered sugar" + } + ], + "steps": [ + "Pour all ingredients into shaker with ice cubes", + "Shake well", + "Strain in chilled cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Beach" + ], + "ibaCategory": null + }, + { + "id": "15409", + "alias": "danbooka", + "name": "Danbooka", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vurrxr1441246074.jpg", + "ingredients": [ + { + "text": "3 parts Coffee" + }, + { + "text": "1 part Everclear" + } + ], + "steps": [ + "pour it in and mix it" + ], + "categories": [ + "Coffee / Tea", + "Coffee Mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16991", + "alias": "downshift", + "name": "Downshift", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/y36z8c1503563911.jpg", + "ingredients": [ + { + "text": "2 part Fruit punch" + }, + { + "text": "1 part Sprite" + }, + { + "text": "2 shots Tequila" + }, + { + "text": "Float Bacardi 151 proof rum" + } + ], + "steps": [ + "Start with the Sprite", + "Next comes the tequila", + "After that, add the Minute Maid Fruit Punch, then float the 151", + "Rocks optional" + ], + "categories": [ + "Punch / Party Drink", + "Hurricane glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11320", + "alias": "dragonfly", + "name": "Dragonfly", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uc63bh1582483589.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "4 oz Ginger ale" + }, + { + "text": "1 Lime" + } + ], + "steps": [ + "In a highball glass almost filled with ice cubes, combine the gin and ginger ale", + "Stir well", + "Garnish with the lime wedge" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11005", + "alias": "dry-martini", + "name": "Dry Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6ck9yi1589574317.jpg", + "ingredients": [ + { + "text": "1 2/3 oz Gin" + }, + { + "text": "1/3 oz Dry Vermouth" + }, + { + "text": "1 Olive" + } + ], + "steps": [ + "Straight: Pour all ingredients into mixing glass with ice cubes", + "Stir well", + "Strain in chilled martini cocktail glass", + "Squeeze oil from lemon peel onto the drink, or garnish with olive" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Christmas", + "Alcoholic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11324", + "alias": "dry-rob-roy", + "name": "Dry Rob Roy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/typuyq1439456976.jpg", + "ingredients": [ + { + "text": "2 1/2 oz Scotch" + }, + { + "text": "1 1/2 tsp Dry Vermouth" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine the Scotch and vermouth", + "Stir well", + "Strain into a cocktail glass", + "Garnish with the lemon twist" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14466", + "alias": "dirty-nipple", + "name": "Dirty Nipple", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vtyqrt1461866508.jpg", + "ingredients": [ + { + "text": "Kahlua" + }, + { + "text": "Sambuca" + }, + { + "text": "Baileys irish cream" + } + ], + "steps": [ + "This is a layered shot - the Bailey's must be on top" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17181", + "alias": "dirty-martini", + "name": "Dirty Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vcyvpq1485083300.jpg", + "ingredients": [ + { + "text": "70ml/2fl oz Vodka" + }, + { + "text": "1 tbsp Dry Vermouth" + }, + { + "text": "2 tbsp Olive Brine" + }, + { + "text": "1 wedge Lemon" + }, + { + "text": "1 Olive" + } + ], + "steps": [ + "Pour the vodka, dry vermouth and olive brine into a cocktail shaker with a handful of ice and shake well", + "Rub the rim of a martini glass with the wedge of lemon", + "Strain the contents of the cocktail shaker into the glass and add the olive", + "A dirty Martini contains a splash of olive brine or olive juice and is typically garnished with an olive" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "14482", + "alias": "darkwood-sling", + "name": "Darkwood Sling", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sxxsyq1472719303.jpg", + "ingredients": [ + { + "text": "1 part Cherry Heering" + }, + { + "text": "1 part Soda water" + }, + { + "text": "1 part Orange juice" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "There are many good cherry liqueurs you can use, but I prefere Heering", + "Add one share of the liqueur", + "Then you add one share of Soda", + "For a sour sling use Tonic (most people prefer the drink without Tonic)", + "Afterwards you fill the glass with Orange Juice and ice cubes" + ], + "categories": [ + "Soft Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17211", + "alias": "dark-and-stormy", + "name": "Dark and Stormy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/t1tn0s1504374905.jpg", + "ingredients": [ + { + "text": "5 cl Dark Rum" + }, + { + "text": "10 cl Ginger Beer" + } + ], + "steps": [ + "In a highball glass filled with ice add 6cl dark rum and top with ginger beer", + "Garnish with lime wedge" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "17177", + "alias": "dark-caipirinha", + "name": "Dark Caipirinha", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uwstrx1472406058.jpg", + "ingredients": [ + { + "text": "2 tsp demerara Sugar" + }, + { + "text": "1 Lime" + }, + { + "text": "2 1/2 oz Cachaca" + } + ], + "steps": [ + "Muddle the sugar into the lime wedges in an old-fashioned glass", + "Fill the glass with ice cubes", + "Pour the cachaca into the glass", + "Stir well" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17182", + "alias": "duchamps-punch", + "name": "Duchamp's Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/g51naw1485084685.jpg", + "ingredients": [ + { + "text": "5 cl Pisco" + }, + { + "text": "2.5 cl Lime Juice" + }, + { + "text": "2.5 cl Pineapple Syrup" + }, + { + "text": "1.5 cl St. Germain" + }, + { + "text": "2 Dashes Angostura Bitters" + }, + { + "text": "Pinch Pepper" + }, + { + "text": "2 sprigs Lavender" + } + ], + "steps": [ + "Shake all ingredients", + "Double strain in a chilled double old fashioned glass with abig ice cube", + "Garnish with a couple of lavender sprigs" + ], + "categories": [ + "Cocktail", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13194", + "alias": "damned-if-you-do", + "name": "Damned if you do", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ql7bmx1503565106.jpg", + "ingredients": [ + { + "text": "0.75 oz Whiskey" + }, + { + "text": "0.25 oz Hot Damn" + } + ], + "steps": [ + "Pour into shot glass", + "Put in mouth", + "Repeat as deemed necessary" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11326", + "alias": "dubonnet-cocktail", + "name": "Dubonnet Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pfz3hz1582483111.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dubonnet Rouge" + }, + { + "text": "3/4 oz Gin" + }, + { + "text": "1 dash Bitters" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Stir all ingredients (except lemon peel) with ice and strain into a cocktail glass", + "Add the twist of lemon peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12736", + "alias": "drinking-chocolate", + "name": "Drinking Chocolate", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/u6jrdf1487603173.jpg", + "ingredients": [ + { + "text": "2 oz Heavy cream" + }, + { + "text": "6-8 oz Milk" + }, + { + "text": "1 stick Cinnamon" + }, + { + "text": "1 Vanilla" + }, + { + "text": "2 oz finely chopped dark Chocolate" + }, + { + "text": "Fresh Whipped cream" + } + ], + "steps": [ + "Heat the cream and milk with the cinnamon and vanilla bean very slowly for 15-20 minutes", + "(If you don't have any beans add 1-2 tsp of vanilla after heating)", + "Remove the bean and cinnamon", + "Add the chocolate", + "Mix until fully melted", + "Serve topped with some very dense fresh whipped cream", + "Serves 1-2 depending upon how much of a glutton you are", + "For a richer chocolate, use 4 oz of milk, 4 oz of cream, 4 oz of chocolate", + "Serve in coffee mug" + ], + "categories": [ + "Cocoa", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178334", + "alias": "death-in-the-afternoon", + "name": "Death in the Afternoon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/y7s3rh1598719574.jpg", + "ingredients": [ + { + "text": "2 shots Absinthe" + }, + { + "text": "Top Champagne" + } + ], + "steps": [ + "Easy as you like, pour the absinthe into a chilled glass, top with champagne", + "Must be drunk mid afternoon for the optimum effect" + ], + "categories": [ + "Cocktail", + "Margarita glass", + "Alcoholic" + ], + "tags": [ + "Drunk" + ], + "ibaCategory": null + }, + { + "id": "12668", + "alias": "egg-cream", + "name": "Egg Cream", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mvis731484430445.jpg", + "ingredients": [ + { + "text": "2 tblsp Chocolate syrup" + }, + { + "text": "6 oz whole Milk" + }, + { + "text": "6 oz Soda water" + } + ], + "steps": [ + "Mix syrup and milk in a fountain glass", + "Add soda water, serve with a straw" + ], + "categories": [ + "Other / Unknown", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12910", + "alias": "egg-nog-4", + "name": "Egg Nog #4", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wpspsy1468875747.jpg", + "ingredients": [ + { + "text": "6 Egg yolk" + }, + { + "text": "1/4 cup Sugar" + }, + { + "text": "2 cups Milk" + }, + { + "text": "1/2 cup Light rum" + }, + { + "text": "1/2 cup Bourbon" + }, + { + "text": "1 tsp Vanilla extract" + }, + { + "text": "1/4 tsp Salt" + }, + { + "text": "1 cup Whipping cream" + }, + { + "text": "6 Egg white" + }, + { + "text": "1/4 cup Sugar" + }, + { + "text": "Ground Nutmeg" + } + ], + "steps": [ + "In a small mixer bowl beat egg yolks till blended", + "Gradually add 1/4 cup sugar, beating at high speed till thick and lemon colored", + "Stir in milk, stir in rum, bourbon, vanilla, and salt", + "Chill thoroughly", + "Whip cream", + "Wash beaters well", + "In a large mixer bowl beat egg whites till soft peaks form", + "Gradually add remaining 1/4 cup sugar, beating to stiff peaks", + "Fold yolk mixture and whipped cream into egg whites", + "Serve immediately", + "Sprinkle nutmeg over each serving", + "Serve in a punch bowl or another big bowl", + "NOTE: For a nonalcoholic eggnog, prepare Eggnog as above, except omit the bourbon and rum and increase the milk to 3 cups" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11338", + "alias": "english-highball", + "name": "English Highball", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/dhvr7d1504519752.jpg", + "ingredients": [ + { + "text": "3/4 oz Brandy" + }, + { + "text": "3/4 oz Gin" + }, + { + "text": "3/4 oz Sweet Vermouth" + }, + { + "text": "Carbonated water" + }, + { + "text": "Lemon peel" + } + ], + "steps": [ + "Pour brandy, gin, and sweet vermouth into a highball glass over ice cubes", + "Fill with carbonated water", + "Add the twist of lemon peel, stir, and serve", + "(Ginger ale may be substituted for carbonated water, if preferred.)" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17212", + "alias": "espresso-martini", + "name": "Espresso Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/n0sx531504372951.jpg", + "ingredients": [ + { + "text": "5 cl Vodka" + }, + { + "text": "1 cl Kahlua" + }, + { + "text": "1 dash Sugar syrup" + } + ], + "steps": [ + "Pour ingredients into shaker filled with ice, shake vigorously, and strain into chilled martini glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "178309", + "alias": "espresso-rumtini", + "name": "Espresso Rumtini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/acvf171561574403.jpg", + "ingredients": [ + { + "text": "1 shot Rum" + }, + { + "text": "1/2 shot Vanilla syrup" + }, + { + "text": "1 shot Espresso" + }, + { + "text": "1 shot Coffee" + } + ], + "steps": [ + "Mix together in a cocktail glass", + "Garnish with some choclate powder and coffee beans" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "DinnerParty", + "StrongFlavor" + ], + "ibaCategory": null + }, + { + "id": "12916", + "alias": "egg-nog-healthy", + "name": "Egg Nog - Healthy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qxuppv1468875308.jpg", + "ingredients": [ + { + "text": "1/2 cup Egg" + }, + { + "text": "3 tblsp Sugar" + }, + { + "text": "13 oz skimmed Condensed milk" + }, + { + "text": "3/4 cup skimmed Milk" + }, + { + "text": "1 tsp Vanilla extract" + }, + { + "text": "1 tsp Rum" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Whip egg substitute and sugar together, combine with the two kinds of milk, vanilla, and rum", + "Mix well", + "Chill over night", + "Sprinkle with nutmeg", + "Makes 6 servings" + ], + "categories": [ + "Punch / Party Drink", + "Collins Glass", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11339", + "alias": "english-rose-cocktail", + "name": "English Rose Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yxwrpp1441208697.jpg", + "ingredients": [ + { + "text": "3/4 oz Apricot brandy" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "3/4 oz Dry Vermouth" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "1/4 tsp Lemon juice" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Rub rim of cocktail glass with lemon juice and dip rim of glass in powdered sugar", + "Shake all ingredients (except cherry) with ice and strain into sugar-rimmed glass", + "Top with the cherry and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178346", + "alias": "elderflower-caipirinha", + "name": "Elderflower Caipirinha", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/dif7a31614006331.jpg", + "ingredients": [ + { + "text": "60 ml Cachaca" + }, + { + "text": "1 Lime" + }, + { + "text": "3 cl Elderflower cordial" + } + ], + "steps": [ + "Take the glass and muddle the lime in it", + "Fill the glass with crushed ice and add the Cachaca", + "Stir well and top with some more crushed ice", + "Garnish with lime and enjoy!" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "Brazilian" + ], + "ibaCategory": null + }, + { + "id": "12914", + "alias": "egg-nog-classic-cooked", + "name": "Egg-Nog - Classic Cooked", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/quxsvt1468875505.jpg", + "ingredients": [ + { + "text": "6 Egg" + }, + { + "text": "1/4 cup Sugar" + }, + { + "text": "1/4 tsp Salt" + }, + { + "text": "1 qt Milk" + }, + { + "text": "1 tsp Vanilla extract" + } + ], + "steps": [ + "In large saucepan, beat together eggs, sugar and salt, if desired", + "Stir in 2 cups of the milk", + "Cook over low heat, stirring constantly, until mixture is thick enough to coat a metal spoon and reaches 160 degrees F", + "Remove from heat", + "Stir in remaining 2 cups milk and vanilla", + "Cover and regfigerate until thoroughly chilled, several hours or overnight", + "Just before serving, pour into bowl or pitcher", + "Garnish or add stir-ins, if desired", + "Choose 1 or several of: Chocolate curls, cinnamon sticks, extracts of flavorings, flavored brandy or liqueur, fruit juice or nectar, ground nutmeg, maraschino cherries, orange slices, peppermint sticks or candy canes, plain brandy, run or whiskey, sherbet or ice-cream, whipping cream, whipped", + "Serve immediately" + ], + "categories": [ + "Punch / Party Drink", + "Pitcher", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17246", + "alias": "empelln-cocinas-fat-washed-mezcal", + "name": "Empellón Cocina's Fat-Washed Mezcal", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/osgvxt1513595509.jpg", + "ingredients": [ + { + "text": "2 oz Mezcal" + }, + { + "text": "3/4 oz Chocolate liqueur" + }, + { + "text": "1/2 oz Coffee liqueur" + } + ], + "steps": [ + "To ensure that your pork fat is just as delicious as theirs, here’s their adobo marinade and what to do with it (you’ll also need a rack of ribs):\r\n\r\n4 ancho chiles, 8 guajillo chiles and 4 chipotle chiles, plus 4 cloves roasted garlic, half a cup of cider vinegar, a quarter teaspoon of Mexican oregano, 1 teaspoon of ground black pepper, a whole clove, a quarter teaspoon of ground cinnamon and a half teaspoon of ground cumin", + "Toast the dried chiles and soak in water for at least an hour until they are rehydrated", + "Drain and discard the soaking liquid", + "Combine the soaked chiles with the remaining ingredients and purée until smooth", + "Cold smoke a rack of baby back pork ribs by taking a large hotel pan with woodchips on one side and charcoal on the other", + "Place another, smaller, pan with pork ribs, above the charcoal/woodchip pan", + "Ignite the charcoal, being careful to not ignite the woodchips", + "Cover both pans with foil and allow to smoke for 10-15 minutes, until desired level of smoke is achieved, then coat with adobo marinade and wrap in tin foil prior to placing ribs in a 300 degree oven for 7 hours", + "When the ribs have cooled, strain off the fat and use for the infusion", + "If you’re having a hard time coming up to the same kind of volume of fat, make up the balance with pork lard from a butcher", + "To get the same depth of flavor without the ribs, heat up the fat in a pot with a few spoons of the marinade", + "Once you’ve got your tub of seasoned pork fat in cooled liquid form, pour equal amounts of Ilegal Joven mezcal and fat into a sealable container", + "Seal the container and give it a really good shake, then put it in the freezer overnight", + "When the whole thing is separated and congealed, pour it through a fine mesh chinoise", + "If you don’t have a chinoise, try a fine mesh strainer, or if you don’t have one of those, try spooning off most of the fat", + "There will be some beads of orange fat left in the strained mezcal: run that through a few layers of cheesecloth (or coffee filters in a pinch) to get rid of the last of it", + "The mezcal is now ready for drinking, straight-up or in a cocktail", + "Habanero tincture\r\n\r\nSlice habaneros and add 2 ounces Ilegal Joven mezcal", + "Allow to sit overnight or until desired level of heat is achieved", + "Cocktail\r\n\r\nCombine mezcal and chocolate liqueur in a mixing glass with ice and stir for 45 seconds", + "Strain into chilled coupe", + "Carefully \"sink\" the coffee liqueur down the inside of the coupe over a spoon", + "Garnish with 5 drops habanero tincture" + ], + "categories": [ + "Cocktail", + "Beer Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178352", + "alias": "fros", + "name": "Frosé", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/b4cadp1619695347.jpg", + "ingredients": [ + { + "text": "750 ml Rose" + }, + { + "text": "1/2 cup Sugar" + }, + { + "text": "8 oz Strawberries" + }, + { + "text": "2-3 oz Lemon Juice" + } + ], + "steps": [ + "Step 1\nPour rosé into a 13x9\" pan and freeze until almost solid (it won't completely solidify due to the alcohol), at least 6 hours", + "Step 2\nMeanwhile, bring sugar and ½ cup water to a boil in a medium saucepan; cook, stirring constantly, until sugar dissolves, about 3 minutes", + "Add strawberries, remove from heat, and let sit 30 minutes to infuse syrup with strawberry flavor", + "Strain through a fine-mesh sieve into a small bowl (do not press on solids); cover and chill until cold, about 30 minutes", + "Step 3\nScrape rosé into a blender", + "Add lemon juice, 3½ ounces strawberry syrup, and 1 cup crushed ice and purée until smooth", + "Transfer blender jar to freezer and freeze until frosé is thickened (aim for milkshake consistency), 25–35 minutes", + "Step 4\nBlend again until frosé is slushy", + "Divide among glasses", + "Step 5\nDo Ahead: Rosé can be frozen 1 week ahead" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Cold", + "Frozen", + "Summer" + ], + "ibaCategory": null + }, + { + "id": "12768", + "alias": "frapp", + "name": "Frappé", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vqwryq1441245927.jpg", + "ingredients": [ + { + "text": "1/2 cup black Coffee" + }, + { + "text": "1/2 cup Milk" + }, + { + "text": "1-2 tsp Sugar" + } + ], + "steps": [ + "Mix together", + "Blend at highest blender speed for about 1 minute", + "Pour into a glass and drink with a straw", + "Notes: This works best if everything is cold (if you make fresh coffee, mix it with the milk and let it sit in the fridge for 1/2 hour", + "If it is not frothy, add more milk, or even just some more milk powder", + "The froth gradually turns to liquid at the bottom of the glass, so you will find that you can sit and drink this for about 1/2 hour, with more iced coffee continually appearing at the bottom", + "Very refreshing" + ], + "categories": [ + "Coffee / Tea", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11375", + "alias": "foxy-lady", + "name": "Foxy Lady", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/r9cz3q1504519844.jpg", + "ingredients": [ + { + "text": "1/2 oz Amaretto" + }, + { + "text": "1/2 oz Creme de Cacao" + }, + { + "text": "2 oz Light cream" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a chilled cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17197", + "alias": "french-75", + "name": "French 75", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hrxfbl1606773109.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "2 tsp superfine Sugar" + }, + { + "text": "1 1/2 oz Lemon juice" + }, + { + "text": "4 oz Chilled Champagne" + }, + { + "text": "1 Orange" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "Combine gin, sugar, and lemon juice in a cocktail shaker filled with ice", + "Shake vigorously and strain into a chilled champagne glass", + "Top up with Champagne", + "Stir gently" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "178344", + "alias": "figgy-thyme", + "name": "Figgy Thyme", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pbw4e51606766578.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "1 tsp Honey" + }, + { + "text": "3 Figs" + }, + { + "text": "1 Sprig Thyme" + }, + { + "text": "2 dashes Angostura Bitters" + }, + { + "text": "Top Tonic Water" + } + ], + "steps": [ + "In a lewis bag, crush up some ice like a baller/maniac (@glacioice)", + "Pour your precious ice into a collins glass", + "In a cocktail shaker, muddle the figs and thyme together", + "Add honey vodka, lemon juice, and a large ice cube (@glacioice)", + "Shake until well chilled, and strain into glass", + "Add tonic water and finally 2 dashes of angostura bitters", + "Garnish with sliced figs and thyme" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Christmas", + "Sweet" + ], + "ibaCategory": null + }, + { + "id": "11382", + "alias": "frisco-sour", + "name": "Frisco Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/acuvjz1582482022.jpg", + "ingredients": [ + { + "text": "2 oz Blended whiskey" + }, + { + "text": "1/2 oz Benedictine" + }, + { + "text": "Juice of 1/4 Lemon" + }, + { + "text": "Juice of 1/2 Lime" + }, + { + "text": "1 slice Lemon" + }, + { + "text": "1 slice Lime" + } + ], + "steps": [ + "Shake all ingredients (except slices of lemon and lime) with ice and strain into a whiskey sour glass", + "Decorate with the slices of lemon and lime and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12674", + "alias": "fruit-shake", + "name": "Fruit Shake", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/q0fg2m1484430704.jpg", + "ingredients": [ + { + "text": "1 cup fruit Yoghurt" + }, + { + "text": "1 Banana" + }, + { + "text": "4 oz frozen Orange juice" + }, + { + "text": "1/2 piece textural Fruit" + }, + { + "text": "6 Ice" + } + ], + "steps": [ + "Blend til smooth" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12670", + "alias": "fruit-cooler", + "name": "Fruit Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/i3tfn31484430499.jpg", + "ingredients": [ + { + "text": "1 can frozen Apple juice" + }, + { + "text": "1 cup Strawberries" + }, + { + "text": "2 tblsp Sugar" + }, + { + "text": "1 Lemon" + }, + { + "text": "1 Apple" + }, + { + "text": "1 L Soda water" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Toss strawberries with sugar, and let sit overnight in refrigerator", + "Cut lemon, reserve two slices", + "Juice the rest", + "Mix together the lemon juice, strawberries, apple juice, and soda water", + "Add slices of lemon (decor, really)", + "In glasses, put ice cubes, and a slice of apple", + "Pour drink in, and serve" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14688", + "alias": "freddy-kruger", + "name": "Freddy Kruger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tuppuq1461866798.jpg", + "ingredients": [ + { + "text": "1/2 oz Jägermeister" + }, + { + "text": "1/2 oz Sambuca" + }, + { + "text": "1/2 oz Vodka" + } + ], + "steps": [ + "make it an ample size shot!!" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178328", + "alias": "funk-and-soul", + "name": "Funk and Soul", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qtv83q1596015790.jpg", + "ingredients": [ + { + "text": "2 shots Rum" + }, + { + "text": "1 shot Apricot Nectar" + }, + { + "text": "1 shot Pomegranate juice" + }, + { + "text": "Juice of 1/2 lemon" + }, + { + "text": "Top Soda Water" + } + ], + "steps": [ + "Mix all ingredients together and strain into a Collins glass", + "Use Jamaican rum where possible for a more authentic taste" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15743", + "alias": "fuzzy-asshole", + "name": "Fuzzy Asshole", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wrvpuu1472667898.jpg", + "ingredients": [ + { + "text": "1/2 Coffee" + }, + { + "text": "1/2 Peach schnapps" + } + ], + "steps": [ + "fill coffe mug half full of coffee", + "Fill the other half full of Peach Schnapps", + "Stir and drink while hot" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17213", + "alias": "french-martini", + "name": "French Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/clth721504373134.jpg", + "ingredients": [ + { + "text": "4.5 cl Vodka" + }, + { + "text": "1.5 cl Raspberry Liqueur" + }, + { + "text": "1.5 cl pineapple juice" + } + ], + "steps": [ + "Pour all ingredients into shaker with ice cubes", + "Shake well and strain into a chilled cocktail glass", + "Squeeze oil from lemon peel onto the drink" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "NewEra", + "IBA" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "17248", + "alias": "french-negroni", + "name": "French Negroni", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/x8lhp41513703167.jpg", + "ingredients": [ + { + "text": "1 oz Gin" + }, + { + "text": "1 oz Lillet" + }, + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1 Orange Peel" + } + ], + "steps": [ + "Add ice to a shaker and pour in all ingredients", + "Using a bar spoon, stir 40 to 45 revolutions or until thoroughly chilled", + "Strain into a martini glass or over ice into a rocks glass", + "Garnish with orange twist" + ], + "categories": [ + "Cocktail", + "Martini Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13070", + "alias": "fahrenheit-5000", + "name": "Fahrenheit 5000", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tysssx1473344692.jpg", + "ingredients": [ + { + "text": "1/2 oz Firewater" + }, + { + "text": "1/2 oz Absolut Peppar" + }, + { + "text": "1 dash Tabasco sauce" + } + ], + "steps": [ + "Cover bottom of shot glass with Tabasco Sauce and then fill with half Firewater and half Absolut Peppar" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11368", + "alias": "flying-dutchman", + "name": "Flying Dutchman", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mwko4q1582482903.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1/2 oz Triple sec" + } + ], + "steps": [ + "In an old-fashioned glass almost filled with ice cubes, combine the gin and triple sec", + "Stir well" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11387", + "alias": "frozen-daiquiri", + "name": "Frozen Daiquiri", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7oyrj91504884412.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "1 tblsp Triple sec" + }, + { + "text": "1 1/2 oz Lime juice" + }, + { + "text": "1 tsp Sugar" + }, + { + "text": "1 Cherry" + }, + { + "text": "1 cup crushed Ice" + } + ], + "steps": [ + "Combine all ingredients (except for the cherry) in an electric blender and blend at a low speed for five seconds, then blend at a high speed until firm", + "Pour contents into a champagne flute, top with the cherry, and serve" + ], + "categories": [ + "Ordinary Drink", + "Champagne flute", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12672", + "alias": "fruit-flip-flop", + "name": "Fruit Flip-Flop", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/nfdx6p1484430633.jpg", + "ingredients": [ + { + "text": "1 cup Yoghurt" + }, + { + "text": "1 cup Fruit juice" + } + ], + "steps": [ + "Place all ingredients in the blender jar - cover and whiz on medium speed until well blended", + "Pour in one tall, 2 medium or 3 small glasses and drink up" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11369", + "alias": "flying-scotchman", + "name": "Flying Scotchman", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/q53l911582482518.jpg", + "ingredients": [ + { + "text": "1 oz Scotch" + }, + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1 dash Bitters" + }, + { + "text": "1/4 tsp Sugar syrup" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17198", + "alias": "french-connection", + "name": "French Connection", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/zaqa381504368758.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Cognac" + }, + { + "text": "3/4 oz Amaretto" + } + ], + "steps": [ + "Pour all ingredients directly into old fashioned glass filled with ice cubes", + "Stir gently" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "13202", + "alias": "flaming-dr-pepper", + "name": "Flaming Dr. Pepper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/d30z931503565384.jpg", + "ingredients": [ + { + "text": "1 oz Amaretto" + }, + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Bacardi 151 proof rum" + }, + { + "text": "1 oz Dr. Pepper" + }, + { + "text": "1 oz Beer" + } + ], + "steps": [ + "Add Amaretto, Bacardi, and vodka", + "Mix in the Dr", + "Pepper and beer" + ], + "categories": [ + "Shot", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16485", + "alias": "flaming-lamborghini", + "name": "Flaming Lamborghini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yywpss1461866587.jpg", + "ingredients": [ + { + "text": "1 oz Kahlua" + }, + { + "text": "1 oz Sambuca" + }, + { + "text": "1 oz Blue Curacao" + }, + { + "text": "1 oz Baileys irish cream" + } + ], + "steps": [ + "Pour the Sambuca and Kahlua into the Cocktail Glass and give the drinker a straw", + "Pour the Baileys and Blue Curacao into two sepsrate shot glasses either side of the cocktail glass", + "Set light the concotion in the cocktail glass and start to drink through the straw (this drink should be drunk in one) , as the bottom of the glass is reached put out the fire by pouring the Baileys and Blue Curacao into the cocktail glass and keep drinking till it's all gone!!" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13675", + "alias": "flanders-flake-out", + "name": "Flander's Flake-Out", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sqvqrx1461866705.jpg", + "ingredients": [ + { + "text": "1/4 glass Sambuca" + }, + { + "text": "3/4 glass Sarsaparilla" + } + ], + "steps": [ + "Bang 'em both in" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11390", + "alias": "frozen-mint-daiquiri", + "name": "Frozen Mint Daiquiri", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jrhn1q1504884469.jpg", + "ingredients": [ + { + "text": "2 oz Light rum" + }, + { + "text": "1 tblsp Lime juice" + }, + { + "text": "6 Mint" + }, + { + "text": "1 tsp Sugar" + } + ], + "steps": [ + "Combine all ingredients with 1 cup of crushed ice in an electric blender", + "Blend at a low speed for a short length of time", + "Pour into an old-fashioned glass and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11391", + "alias": "frozen-pineapple-daiquiri", + "name": "Frozen Pineapple Daiquiri", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/k3aecd1582481679.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "4 chunks Pineapple" + }, + { + "text": "1 tblsp Lime juice" + }, + { + "text": "1/2 tsp Sugar" + } + ], + "steps": [ + "Combine all ingredients with 1 cup of crushed ice in an electric blender", + "Blend at a low speed for a short length of time", + "Pour into a cocktail glass and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15997", + "alias": "gg", + "name": "GG", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vyxwut1468875960.jpg", + "ingredients": [ + { + "text": "2 1/2 shots Galliano" + }, + { + "text": "Ginger ale" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Pour the Galliano liqueur over ice", + "Fill the remainder of the glass with ginger ale and thats all there is to it", + "You now have a your very own GG" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17255", + "alias": "gimlet", + "name": "Gimlet", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3xgldt1513707271.jpg", + "ingredients": [ + { + "text": "2 1/2 oz Gin" + }, + { + "text": "1/2 oz Lime Juice" + }, + { + "text": "1/2 oz Sugar Syrup" + }, + { + "text": "1 Lime" + } + ], + "steps": [ + "Add all the ingredients to a shaker and fill with ice", + "Shake, and strain into a chilled cocktail glass or an Old Fashioned glass filled with fresh ice", + "Garnish with a lime wheel" + ], + "categories": [ + "Cocktail", + "Martini Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11422", + "alias": "godchild", + "name": "Godchild", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/m5nhtr1504820829.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Amaretto" + }, + { + "text": "1 oz Heavy cream" + } + ], + "steps": [ + "Shake all ingredients well with cracked ice, strain into a champagne flute, and serve" + ], + "categories": [ + "Ordinary Drink", + "Champagne flute", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11410", + "alias": "gin-fizz", + "name": "Gin Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/drtihp1606768397.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients with ice cubes, except soda water", + "Pour into glass", + "Top with soda water" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11417", + "alias": "gin-sour", + "name": "Gin Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/noxp7e1606769224.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1/2 tsp superfine Sugar" + }, + { + "text": "1 Orange" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the gin, lemon juice, and sugar", + "Shake well", + "Strain into a sour glass and garnish with the orange slice and the cherry" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [ + "Sour" + ], + "ibaCategory": null + }, + { + "id": "12758", + "alias": "gagliardo", + "name": "Gagliardo", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/lyloe91487602877.jpg", + "ingredients": [ + { + "text": "5 parts Peach Vodka" + }, + { + "text": "3 parts Lemon juice" + }, + { + "text": "1 part Galliano" + }, + { + "text": "1 part Sirup of roses" + } + ], + "steps": [ + "Shake well and serve in a cocktail glass", + "This is a home cocktail of American/Internet Bar del Pozzo, Pavia, Italy" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11424", + "alias": "godmother", + "name": "Godmother", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/quksqg1582582597.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "3/4 oz Amaretto" + } + ], + "steps": [ + "Pour vodka and amaretto into an old-fashioned glass over ice and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": null + }, + { + "id": "11423", + "alias": "godfather", + "name": "Godfather", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/e5zgao1582582378.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "3/4 oz Amaretto" + } + ], + "steps": [ + "Pour all ingredients directly into old fashioned glass filled with ice cubes", + "Stir gently" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "12944", + "alias": "gluehwein", + "name": "Gluehwein", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vuxwvt1468875418.jpg", + "ingredients": [ + { + "text": "1 L Red wine" + }, + { + "text": "125 ml Water" + }, + { + "text": "60 gr Sugar" + }, + { + "text": "1 Cinnamon" + }, + { + "text": "3 Cloves" + }, + { + "text": "1 tblsp Lemon peel" + } + ], + "steps": [ + "Boil sugar and spices in water, leave in the water for 30 minutes", + "Strain the spiced water and mix with the wine", + "Heat slowly until short of boiling temperature", + "(To remove alcohol, let it boil for a while.) You may add lemon or orange juice to taste", + "Serve in irish coffee cup" + ], + "categories": [ + "Punch / Party Drink", + "Irish coffee cup", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178365", + "alias": "gin-tonic", + "name": "Gin Tonic", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qcgz0t1643821443.jpg", + "ingredients": [ + { + "text": "4 cl Gin" + }, + { + "text": "10 cl Tonic Water" + }, + { + "text": "1 Slice Lemon Peel" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Fill a highball glass with ice, pour the gin, top with tonic water and squeeze a lemon wedge and garnish with a lemon wedge" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11420", + "alias": "gin-toddy", + "name": "Gin Toddy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jxstwf1582582101.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "2 tsp Water" + }, + { + "text": "1/2 tsp Powdered sugar" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Mix powdered sugar and water in an old-fashioned glass", + "Add gin and one ice cube", + "Stir, add the twist of lemon peel, and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11416", + "alias": "gin-smash", + "name": "Gin Smash", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/iprva61606768774.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 oz Carbonated water" + }, + { + "text": "1 cube Sugar" + }, + { + "text": "4 Mint" + }, + { + "text": "1 slice Orange" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Muddle sugar with carbonated water and mint sprigs in an old-fashioned glass", + "Add gin and 1 ice cube", + "Stir, add the orange slice and the cherry, and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "Citrus", + "StrongFlavor" + ], + "ibaCategory": null + }, + { + "id": "11408", + "alias": "gin-daisy", + "name": "Gin Daisy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/z6e22f1582581155.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1/2 tsp superfine Sugar" + }, + { + "text": "1/2 tsp Grenadine" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 Orange" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the gin, lemon juice, sugar, and grenadine", + "Shake well", + "Pour into an old-fashioned glass and garnish with the cherry and the orange slice" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178366", + "alias": "gin-lemon", + "name": "Gin Lemon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6gdohq1681212476.jpg", + "ingredients": [ + { + "text": "6 cl Gin" + }, + { + "text": "8 cl Lemon Juice" + }, + { + "text": "1 Slice Lemon Peel" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "For the preparation of the gin lemon you will not need the shaker", + "Fill the tumbler with ice, pour the gin and lemonade over it", + "Gently mix and decorate with a slice of lemon", + "Those who prefer can also add a few mint leaves", + "Your gin lemon is ready to be served" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "simple", + "classic", + "refreshing" + ], + "ibaCategory": null + }, + { + "id": "11415", + "alias": "gin-sling", + "name": "Gin Sling", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/8cl9sm1582581761.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 tsp Water" + }, + { + "text": "Twist of Orange peel" + } + ], + "steps": [ + "Dissolve powdered sugar in mixture of water and juice of lemon", + "Add gin", + "Pour into an old-fashioned glass over ice cubes and stir", + "Add the twist of orange peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17252", + "alias": "greyhound", + "name": "Greyhound", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/g5upn41513706732.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "3 oz Grapefruit Juice" + } + ], + "steps": [ + "Add the vodka to a Collins glass filled with ice", + "Top with grapefruit juice and stir" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17230", + "alias": "gin-rickey", + "name": "Gin Rickey", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/s00d6f1504883945.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "Juice of 1/2 lemon" + }, + { + "text": "Top up with Soda Water" + }, + { + "text": "Garnish Lime" + } + ], + "steps": [ + "Half-fill a tall glass with ice", + "Mix the gin and Grenadine together and pour over the ice", + "Add the lime or lemon juice and top off with soda water", + "Decorate the glass with lime and/or lemon slices" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11418", + "alias": "gin-squirt", + "name": "Gin Squirt", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xrbhz61504883702.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "1 tblsp Powdered sugar" + }, + { + "text": "3 chunks Pineapple" + }, + { + "text": "2 Strawberries" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Stir gin, grenadine, and powdered sugar with ice and strain into a highball glass over ice cubes", + "Fill with carbonated water and stir", + "Decorate with the pineapple chunks and the strawberries and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15427", + "alias": "grand-blue", + "name": "Grand Blue", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vsrsqu1472761749.jpg", + "ingredients": [ + { + "text": "1 1/2 cl Malibu rum" + }, + { + "text": "1 1/2 cl Peach schnapps" + }, + { + "text": "1 1/2 cl Blue Curacao" + }, + { + "text": "3 cl Sweet and sour" + } + ], + "steps": [ + "Serve in an old fashioned glass" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11407", + "alias": "gin-cooler", + "name": "Gin Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/678xt11582481163.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "Carbonated water" + }, + { + "text": "Powdered sugar" + }, + { + "text": "Orange spiral" + }, + { + "text": "Lemon peel" + } + ], + "steps": [ + "Stir powdered sugar and 2 oz", + "carbonated water in a collins glass", + "Fill glass with ice and add gin", + "Fill with carbonated water and stir", + "Add the lemon peel and the orange spiral so that the end of the orange spiral dangles over rim of glass" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11419", + "alias": "gin-swizzle", + "name": "Gin Swizzle", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sybce31504884026.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Lime juice" + }, + { + "text": "1 tsp superfine Sugar" + }, + { + "text": "2 oz Gin" + }, + { + "text": "1 dash Bitters" + }, + { + "text": "3 oz Club soda" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the lime juice, sugar, gin, and bitters", + "Shake well", + "Almost fill a colling glass with ice cubes", + "Stir until the glass is frosted", + "Strain the mixture in the shaker into the glass and add the club soda" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11433", + "alias": "grass-skirt", + "name": "Grass Skirt", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qyvprp1473891585.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 oz Pineapple juice" + }, + { + "text": "1/2 tsp Grenadine" + }, + { + "text": "1 Pineapple" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the gin, triple sec, pineapple juice, and grenadine", + "Shake well", + "Pour into an old-fashioned glass and garnish with the pineapple slice" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17200", + "alias": "grasshopper", + "name": "Grasshopper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/aqm9el1504369613.jpg", + "ingredients": [ + { + "text": "3/4 oz Green Creme de Menthe" + }, + { + "text": "3/4 oz white Creme de Cacao" + }, + { + "text": "3/4 oz Light cream" + } + ], + "steps": [ + "Pour ingredients into a cocktail shaker with ice", + "Shake briskly and then strain into a chilled cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic", + "Halloween" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "14642", + "alias": "grim-reaper", + "name": "Grim Reaper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kztu161504883192.jpg", + "ingredients": [ + { + "text": "1 oz Kahlua" + }, + { + "text": "1 oz Bacardi 151 proof rum" + }, + { + "text": "1 dash Grenadine" + } + ], + "steps": [ + "Mix Kahlua and 151 in glass", + "Quickly add ice and pour grenadine over ice to give ice red tint" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178342", + "alias": "gin-and-soda", + "name": "Gin and Soda", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/nzlyc81605905755.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "5 oz Soda Water" + }, + { + "text": "1/4 Lime" + } + ], + "steps": [ + "Pour the Gin and Soda water into a highball glass almost filled with ice cubes", + "Stir well", + "Garnish with the lime wedge" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Clear", + "Alcoholic" + ], + "ibaCategory": null + }, + { + "id": "16262", + "alias": "hd", + "name": "H.D.", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/upusyu1472667977.jpg", + "ingredients": [ + { + "text": "4 cl Whisky" + }, + { + "text": "8 cl Baileys irish cream" + }, + { + "text": "Coffee" + } + ], + "steps": [ + "Mix the whisky and Baileys Cream in a beer-glass (at least 50 cl)", + "Fill the rest of the glass with coffee" + ], + "categories": [ + "Coffee / Tea", + "Beer mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178316", + "alias": "honey-bee", + "name": "Honey Bee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vu8l7t1582475673.jpg", + "ingredients": [ + { + "text": "6 cl White Rum" + }, + { + "text": "2 cl Honey" + }, + { + "text": "2 cl Lemon Juice" + } + ], + "steps": [ + "Shake ingredients with crushed ice" + ], + "categories": [ + "Cocktail", + "Margarita glass", + "Alcoholic" + ], + "tags": [ + "Sweet" + ], + "ibaCategory": null + }, + { + "id": "178345", + "alias": "hot-toddy", + "name": "Hot Toddy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ggx0lv1613942306.jpg", + "ingredients": [ + { + "text": "50 ml Whiskey" + }, + { + "text": "15 ml Honey" + }, + { + "text": "1 Cinnamon" + }, + { + "text": "1 lemon" + }, + { + "text": "2 Cloves" + } + ], + "steps": [ + "STEP 1\r\nWhisk the whisky and honey together and split between 2 heatproof glasses", + "Add half of the cinnamon stick to each, then top up with 200ml boiling water", + "STEP 2\r\nAdd a splash of lemon juice to each, then taste and add more to your preference", + "Finish each with a slice of lemon, studded with a clove, and serve immediately" + ], + "categories": [ + "Cocktail", + "Irish coffee cup", + "Alcoholic" + ], + "tags": [ + "Winter" + ], + "ibaCategory": null + }, + { + "id": "15813", + "alias": "herbal-flame", + "name": "Herbal flame", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rrstxv1441246184.jpg", + "ingredients": [ + { + "text": "5 shots Hot Damn" + }, + { + "text": "very sweet Tea" + } + ], + "steps": [ + "Pour Hot Damn 100 in bottom of a jar or regular glass", + "Fill the rest of the glass with sweet tea", + "Stir with spoon, straw, or better yet a cinnamon stick and leave it in" + ], + "categories": [ + "Coffee / Tea", + "Mason jar", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17202", + "alias": "horses-neck", + "name": "Horse's Neck", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/006k4e1504370092.jpg", + "ingredients": [ + { + "text": "1 long strip Lemon peel" + }, + { + "text": "2 oz Brandy" + }, + { + "text": "5 oz Ginger ale" + }, + { + "text": "2 dashes Bitters" + } + ], + "steps": [ + "Pour brandy and ginger ale directly into highball glass with ice cubes", + "Stir gently", + "Garnish with lemon zest", + "If desired, add dashes of Angostura Bitter" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "12766", + "alias": "happy-skipper", + "name": "Happy Skipper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/42w2g41487602448.jpg", + "ingredients": [ + { + "text": "1 1/2 cl Spiced rum" + }, + { + "text": "Ginger ale" + }, + { + "text": "Lime" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Pour Captain Morgan's Spiced Rum over ice, fill glass to top with Ginger Ale", + "Garnish with lime", + "Tastes like a cream soda", + "Named for the Gilligan's Island reference (\"The Captain\" *in* \"Ginger\" is a Happy Skipper!)" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17239", + "alias": "hunters-moon", + "name": "Hunter's Moon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/t0iugg1509556712.jpg", + "ingredients": [ + { + "text": "25 ml Vermouth" + }, + { + "text": "15 ml Maraschino Cherry" + }, + { + "text": "10 ml Sugar Syrup" + }, + { + "text": "100 ml Lemonade" + }, + { + "text": "2 Blackberries" + } + ], + "steps": [ + "Put the Bombay Sapphire, Martini Bianco, sugar syrup & blackberries in a cocktail shaker with lots of ice and shake vigorously before pouring into a balloon glass, topping up with lemonade and garnishing with a wedge of orange" + ], + "categories": [ + "Cocktail", + "Balloon Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178313", + "alias": "halloween-punch", + "name": "Halloween Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7hcgyj1571687671.jpg", + "ingredients": [ + { + "text": "1 bottle Cherry Juice" + }, + { + "text": "3 Orange Peel" + }, + { + "text": "1 Red Chili Flakes" + }, + { + "text": "10 Cloves" + }, + { + "text": "6 Ginger" + }, + { + "text": "20 cl Vodka" + } + ], + "steps": [ + "Tip the cherry juice, orange peel, chilli, cinnamon sticks, cloves and ginger into a large saucepan", + "Simmer for 5 mins, then turn off the heat", + "Leave to cool, then chill for at least 4 hrs, or up to 2 days – the longer you leave it the more intense the flavours", + "If serving to young children, take the chilli out after a few hours", + "When you’re ready to serve, pour the juice into a jug", + "Serve in glass bottles or glasses and pop a straw in each", + "If you're adding vodka, do so at this stage", + "Dangle a fangs sweet from each glass" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Alcoholic" + ], + "tags": [ + "Halloween" + ], + "ibaCategory": null + }, + { + "id": "11470", + "alias": "havana-cocktail", + "name": "Havana Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/59splc1504882899.jpg", + "ingredients": [ + { + "text": "1 oz Light rum" + }, + { + "text": "1 oz Pineapple juice" + }, + { + "text": "1 tsp Lemon juice" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12954", + "alias": "holloween-punch", + "name": "Holloween Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/lfeoe41504888925.jpg", + "ingredients": [ + { + "text": "Grape juice" + }, + { + "text": ", orange Carbonated soft drink" + }, + { + "text": "Sherbet" + }, + { + "text": "Sherbet" + } + ], + "steps": [ + "Take a bunch of grape juice and a bunch of fizzy stuff (club soda, ginger ale, lemonlime, whatever)", + "Mix them in a punch bowl", + "Take orange sherbet and lime sherbet", + "Scoop out scoops and float them in the punch, let them melt a little so that a nasty film spreads all over the top of the punch but there are still \"bubbles\" in it in the form of sherbet scoops", + "Looks horrible, tastes just fine" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17044", + "alias": "homemade-kahlua", + "name": "Homemade Kahlua", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uwtsst1441254025.jpg", + "ingredients": [ + { + "text": "2 1/2 cups Sugar" + }, + { + "text": "1 cup Corn syrup" + }, + { + "text": "1 1/2 oz instant Coffee" + }, + { + "text": "2 oz Vanilla extract" + }, + { + "text": "3 cups boiling Water" + }, + { + "text": "1 fifth Vodka" + } + ], + "steps": [ + "Dissolve sugar in 2 cups of boiling water and add corn syrup", + "Dissolve the instant coffee in the remaining water", + "Pour syrup and coffee in a gallon jug", + "Let it cool", + "Add vodka and vanilla when cold", + "For the best result, let the mixture \"mature\" for 4-5 weeks" + ], + "categories": [ + "Homemade Liqueur", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14782", + "alias": "hot-creamy-bush", + "name": "Hot Creamy Bush", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/spvrtp1472668037.jpg", + "ingredients": [ + { + "text": "1 shot Irish whiskey" + }, + { + "text": "3/4 shot Baileys irish cream" + }, + { + "text": "6 oz hot Coffee" + } + ], + "steps": [ + "Combine all ingredients in glass" + ], + "categories": [ + "Coffee / Tea", + "Irish coffee cup", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11462", + "alias": "harvey-wallbanger", + "name": "Harvey Wallbanger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7os4gs1606854357.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1/2 oz Galliano" + }, + { + "text": "4 oz Orange juice" + } + ], + "steps": [ + "Stir the vodka and orange juice with ice in the glass, then float the Galliano on top", + "Garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "11472", + "alias": "hawaiian-cocktail", + "name": "Hawaiian Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ujoh9x1504882987.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1 tblsp Pineapple juice" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17201", + "alias": "hemingway-special", + "name": "Hemingway Special", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jfcvps1504369888.jpg", + "ingredients": [ + { + "text": "12 parts Rum" + }, + { + "text": "8 parts Grapefruit Juice" + }, + { + "text": "3 parts Maraschino Liqueur" + }, + { + "text": "3 parts Lime Juice" + } + ], + "steps": [ + "Pour all ingredients into a shaker with ice", + "Shake" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "11476", + "alias": "highland-fling-cocktail", + "name": "Highland Fling Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0bkwca1492975553.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "3/4 oz Sweet Vermouth" + }, + { + "text": "2 dashes Orange bitters" + }, + { + "text": "1 Olive" + } + ], + "steps": [ + "Stir all ingredients (except olive) with ice and strain into a cocktail glass", + "Add the olive and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12738", + "alias": "hot-chocolate-to-die-for", + "name": "Hot Chocolate to Die for", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0lrmjp1487603166.jpg", + "ingredients": [ + { + "text": "12 oz fine Chocolate" + }, + { + "text": "1 tsp Butter" + }, + { + "text": "1/2 tsp Vanilla extract" + }, + { + "text": "1 cup Half-and-half" + }, + { + "text": "mini Marshmallows" + } + ], + "steps": [ + "Melt the chocolate, butter and vanilla in a double boiler", + "When just smooth stir in the cream" + ], + "categories": [ + "Cocoa", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17176", + "alias": "ipamena", + "name": "Ipamena", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yswuwp1469090992.jpg", + "ingredients": [ + { + "text": "½ Lime" + }, + { + "text": "2 tsp Brown sugar" + }, + { + "text": "4 cl Passion fruit juice" + }, + { + "text": "top up with Ginger ale" + }, + { + "text": "fill Ice" + } + ], + "steps": [ + "Cut half a lime into pieces, place in a shaker, add the sugar and crush", + "Measure the passion fruit juice, add it to the shaker and fill up with ice cubes", + "Close the shaker and shake vigorously", + "Pour the liquid into a glass, top up with ginger ale, stir with a teaspoon and then garnish the rim of the glass with a slice of lime" + ], + "categories": [ + "Ordinary Drink", + "Wine Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13539", + "alias": "ice-pick", + "name": "Ice Pick", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ypsrqp1469091726.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "6 oz Iced tea" + }, + { + "text": "to taste Lemon juice" + } + ], + "steps": [ + "Put Vodka in glass fill with iced tea", + "Stir in lemon to taste" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12770", + "alias": "iced-coffee", + "name": "Iced Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ytprxy1454513855.jpg", + "ingredients": [ + { + "text": "1/4 cup instant Coffee" + }, + { + "text": "1/4 cup Sugar" + }, + { + "text": "1/4 cup hot Water" + }, + { + "text": "4 cups cold Milk" + } + ], + "steps": [ + "Mix together until coffee and sugar is dissolved", + "Add milk", + "Shake well", + "Using a blender or milk shake maker produces a very foamy drink", + "Serve in coffee mug" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12820", + "alias": "irish-cream", + "name": "Irish Cream", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/90etyl1504884699.jpg", + "ingredients": [ + { + "text": "1 cup Scotch" + }, + { + "text": "1 1/4 cup Half-and-half" + }, + { + "text": "1 can sweetened Condensed milk" + }, + { + "text": "3 drops Coconut syrup" + }, + { + "text": "1 tblsp Chocolate syrup" + } + ], + "steps": [ + "Mix scotch and milk", + "Add half-and-half", + "Add rest" + ], + "categories": [ + "Homemade Liqueur", + "Irish coffee cup", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13971", + "alias": "irish-coffee", + "name": "Irish Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sywsqw1439906999.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Irish whiskey" + }, + { + "text": "8 oz Coffee" + }, + { + "text": "1 tsp Sugar" + }, + { + "text": "1 tblsp Whipped cream" + } + ], + "steps": [ + "Heat the coffee, whiskey and sugar; do not boil", + "Pour into glass and top with cream; serve hot" + ], + "categories": [ + "Coffee / Tea", + "Irish coffee cup", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "11528", + "alias": "irish-spring", + "name": "Irish Spring", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sot8v41504884783.jpg", + "ingredients": [ + { + "text": "1 oz Irish whiskey" + }, + { + "text": "1/2 oz Peach brandy" + }, + { + "text": "1 oz Orange juice" + }, + { + "text": "1 oz Sweet and sour" + }, + { + "text": "1 slice Orange" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Pour all ingredients (except orange slice and cherry) into a collins glass over ice cubes", + "Garnish with the slice of orange, add the cherry on top, and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11524", + "alias": "imperial-fizz", + "name": "Imperial Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/zj1usl1504884548.jpg", + "ingredients": [ + { + "text": "1/2 oz Light rum" + }, + { + "text": "1 1/2 oz Blended whiskey" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients (except carbonated water) with ice and strain into a highball glass over two ice cubes", + "Fill with carbonated water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17015", + "alias": "irish-russian", + "name": "Irish Russian", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/swqurw1454512730.jpg", + "ingredients": [ + { + "text": "1 shot Vodka" + }, + { + "text": "1 shot Kahlua" + }, + { + "text": "1 dash Coca-Cola" + }, + { + "text": "Fill with Guinness stout" + } + ], + "steps": [ + "Add the ingredients in the order listed in the recipe", + "Care must be taken when adding the Guinness to prevent an excess of foam", + "Do Not add ice" + ], + "categories": [ + "Beer", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12706", + "alias": "imperial-cocktail", + "name": "Imperial Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bcsj2e1487603625.jpg", + "ingredients": [ + { + "text": "4 cl Lime juice" + }, + { + "text": "2 cl Gin" + }, + { + "text": "4 cl Aperol" + } + ], + "steps": [ + "Shake with ice and strain into cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12772", + "alias": "iced-coffee-fillip", + "name": "Iced Coffee Fillip", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sxtxrp1454514223.jpg", + "ingredients": [ + { + "text": "2 tsp Kahlua" + }, + { + "text": "Strong cold Coffee" + } + ], + "steps": [ + "Mix together in a coffee mug and chill before serving" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16987", + "alias": "irish-curdling-cow", + "name": "Irish Curdling Cow", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yrhutv1503563730.jpg", + "ingredients": [ + { + "text": "3/4 oz Baileys irish cream" + }, + { + "text": "3/4 oz Bourbon" + }, + { + "text": "3/4 oz Vodka" + }, + { + "text": "2-3 oz Orange juice" + } + ], + "steps": [ + "Pour Irish Cream, Vodka, and Bourbon in a glass", + "Add some ice and mix in the orange juice" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17178", + "alias": "jam-donut", + "name": "Jam Donut", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uuytrp1474039804.jpg", + "ingredients": [ + { + "text": "2/3 oz Baileys irish cream" + }, + { + "text": "1/3 oz Chambord raspberry liqueur" + }, + { + "text": "1 tsp Sugar syrup" + }, + { + "text": "2 pinches Sugar" + } + ], + "steps": [ + "Coat the rim of a shot glass with sugar using sugar syrup to stick", + "Add the Chambord raspberry liqueur to the shot glass, and carefully layer the Baileys Irish Cream on top", + "Serve" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16178", + "alias": "jitterbug", + "name": "Jitterbug", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wwqvrq1441245318.jpg", + "ingredients": [ + { + "text": "2 jiggers Gin" + }, + { + "text": "1 jigger Vodka" + }, + { + "text": "3 dashes Grenadine" + }, + { + "text": "1 shot Lime juice" + }, + { + "text": "Around rim put 1 pinch Sugar" + }, + { + "text": "3 dashes Sugar syrup" + }, + { + "text": "Fill to top with Soda water" + } + ], + "steps": [ + "Wet glass, dip rim in sugar", + "Then add Ice", + "Then add everything else", + "It's that simple!" + ], + "categories": [ + "Cocktail", + "Cocktail Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13847", + "alias": "jackhammer", + "name": "Jackhammer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/9von5j1504388896.jpg", + "ingredients": [ + { + "text": "1 oz Jack Daniels" + }, + { + "text": "1 oz Amaretto" + } + ], + "steps": [ + "Serve over ice- Warning,Deadly!" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13775", + "alias": "jelly-bean", + "name": "Jelly Bean", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bglc6y1504388797.jpg", + "ingredients": [ + { + "text": "1 oz Blackberry brandy" + }, + { + "text": "1 oz Anis" + } + ], + "steps": [ + "mix equal parts in pony glass-tastes just like a jelly bean!" + ], + "categories": [ + "Shot", + "Cordial glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14956", + "alias": "jello-shots", + "name": "Jello shots", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/l0smzo1504884904.jpg", + "ingredients": [ + { + "text": "2 cups Vodka" + }, + { + "text": "3 packages Jello" + }, + { + "text": "3 cups Water" + } + ], + "steps": [ + "Boil 3 cups of water then add jello", + "Mix jello and water until jello is completely disolved", + "Add the two cups of vodka and mix together", + "Pour mixture into plastic shot glasses and chill until firm", + "Then, eat away" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14095", + "alias": "jamaica-kiss", + "name": "Jamaica Kiss", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/urpvvv1441249549.jpg", + "ingredients": [ + { + "text": "1 shot Coffee liqueur" + }, + { + "text": "1 shot Jamaican Light rum" + }, + { + "text": "cubes Ice" + }, + { + "text": "Milk" + } + ], + "steps": [ + "Fill a tumbler with ice cubes", + "Add a shot of Tia Maria and a shot of Jamaican light rum", + "Fill the tumbler with milk", + "Blend until smooth and serve immediately" + ], + "categories": [ + "Shake", + "Hurricane glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11580", + "alias": "john-collins", + "name": "John Collins", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0t4bv71606854479.jpg", + "ingredients": [ + { + "text": "2 oz Bourbon" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1 tsp superfine Sugar" + }, + { + "text": "3 oz Club soda" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 Orange" + } + ], + "steps": [ + "Pour all ingredients directly into highball glass filled with ice", + "Stir gently", + "Garnish", + "Add a dash of Angostura bitters" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA" + ], + "ibaCategory": null + }, + { + "id": "11558", + "alias": "japanese-fizz", + "name": "Japanese Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/37vzv11504884831.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Blended whiskey" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 tblsp Port" + }, + { + "text": "1 Egg white" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients (except carbonated water) with ice and strain into a highball glass over two ice cubes", + "Fill with carbonated water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15825", + "alias": "jamaican-coffee", + "name": "Jamaican Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xqptps1441247257.jpg", + "ingredients": [ + { + "text": "1/6 glass Rum" + }, + { + "text": "1/6 glass strong black Coffee" + }, + { + "text": "1/2 glass cold Water" + }, + { + "text": "Whipped cream" + } + ], + "steps": [ + "Stir the rum, coffee and water together", + "Top with the whipped cream", + "Sprinkle with a pinch of well ground coffee and drink with a straw" + ], + "categories": [ + "Coffee / Tea", + "Champagne flute", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12688", + "alias": "just-a-moonmint", + "name": "Just a Moonmint", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/znald61487604035.jpg", + "ingredients": [ + { + "text": "2 cups Milk" + }, + { + "text": "Chocolate syrup" + }, + { + "text": "Mint syrup" + } + ], + "steps": [ + "Place all ingredients in the blender jar - cover and whiz on medium speed until well blended", + "Pour in one tall, 2 medium or 3 small glasses and drink up" + ], + "categories": [ + "Shake", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11566", + "alias": "jewel-of-the-nile", + "name": "Jewel Of The Nile", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hx4nrb1504884947.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/2 oz Green Chartreuse" + }, + { + "text": "1/2 oz Yellow Chartreuse" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine all of the ingredients", + "Stir well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11542", + "alias": "jack-rose-cocktail", + "name": "Jack Rose Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uuqqrv1439907068.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Apple brandy" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "Juice of 1/2 Lime" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Beach" + ], + "ibaCategory": null + }, + { + "id": "16275", + "alias": "jacks-vanilla-coke", + "name": "Jack's Vanilla Coke", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kjnt7z1504793319.jpg", + "ingredients": [ + { + "text": "4-5 Ice" + }, + { + "text": "2 oz Tennessee whiskey" + }, + { + "text": "1 tsp Vanilla extract" + }, + { + "text": "10-12 oz Coca-Cola" + } + ], + "steps": [ + "After pouring in your ingredients, and adding 3-5 ice cubes, according to taste", + "Stir the drink with a stirrer to get the Vanilla off the bottom" + ], + "categories": [ + "Other / Unknown", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17203", + "alias": "kir", + "name": "Kir", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/apneom1504370294.jpg", + "ingredients": [ + { + "text": "1 part Creme de Cassis" + }, + { + "text": "5 parts Champagne" + } + ], + "steps": [ + "Add the crème de cassis to the bottom of the glass, then top up with wine" + ], + "categories": [ + "Ordinary Drink", + "Wine Glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": null + }, + { + "id": "12764", + "alias": "karsk", + "name": "Karsk", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/808mxk1487602471.jpg", + "ingredients": [ + { + "text": "1 part Coffee" + }, + { + "text": "2 parts Grain alcohol" + } + ], + "steps": [ + "Put a copper coin in a coffe-cup and fill up with coffee until you no longer see the coin, then add alcohol until you see the coin", + "Norwegian speciality" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11600", + "alias": "kamikaze", + "name": "Kamikaze", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/d7ff7u1606855412.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 oz Lime juice" + } + ], + "steps": [ + "Shake all ingredients together with ice", + "Strain into glass, garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "13837", + "alias": "kir-royale", + "name": "Kir Royale", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yt9i7n1504370388.jpg", + "ingredients": [ + { + "text": "1 part Creme de Cassis" + }, + { + "text": "5 parts Champagne" + } + ], + "steps": [ + "Pour Creme de cassis in glass, gently pour champagne on top" + ], + "categories": [ + "Ordinary Drink", + "Champagne Flute", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14752", + "alias": "kiwi-lemon", + "name": "Kiwi Lemon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tpupvr1478251697.jpg", + "ingredients": [ + { + "text": "1 part Kiwi liqueur" + }, + { + "text": "2 parts Bitter lemon" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Mix in highball glass", + "Stirr", + "Garnish with slice of kiwi" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14456", + "alias": "kurant-tea", + "name": "Kurant Tea", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xrsrpr1441247464.jpg", + "ingredients": [ + { + "text": "4 cl Absolut Kurant" + }, + { + "text": "Turkish apple Tea" + }, + { + "text": "(if needed) Sugar" + } + ], + "steps": [ + "Pour Absolut Kurant into a comfortably big tea-cup", + "Add the not too hot(!) apple tea and, if you like, some sugar", + "Enjoy!" + ], + "categories": [ + "Coffee / Tea", + "Champagne flute", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16951", + "alias": "kioki-coffee", + "name": "Kioki Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uppqty1441247374.jpg", + "ingredients": [ + { + "text": "1 oz Kahlua" + }, + { + "text": "1/2 oz Brandy" + }, + { + "text": "Coffee" + } + ], + "steps": [ + "Stir", + "Add whipped cream to the top" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178359", + "alias": "kiwi-martini", + "name": "Kiwi Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bmxmyq1630407098.jpg", + "ingredients": [ + { + "text": "1/2 Kiwi" + }, + { + "text": "1 tsp Sugar Syrup" + }, + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "Garnish with Kiwi" + } + ], + "steps": [ + "The kiwi martini is a very fun vodka cocktail and it is one of the best drinks that makes use of fresh fruit", + "Though there are a few recipes floating around, this is one of the easiest and it is an absolutely delightful green martini to drink", + "For this recipe, you'll simply muddle slices of kiwi with simple syrup, then shake it with vodka", + "It's a drink that anyone can mix up in minutes and a perfect cocktail to show off your favorite vodka" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Green", + "Sharp" + ], + "ibaCategory": null + }, + { + "id": "15026", + "alias": "kiss-me-quick", + "name": "Kiss me Quick", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/m7iaxu1504885119.jpg", + "ingredients": [ + { + "text": "4 cl Cranberry vodka" + }, + { + "text": "2 cl Apfelkorn" + }, + { + "text": "7 cl Schweppes Russchian" + }, + { + "text": "8 cl Apple juice" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "mix in the glass" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13190", + "alias": "kool-aid-shot", + "name": "Kool-Aid Shot", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/fegm621503564966.jpg", + "ingredients": [ + { + "text": "1 shot Vodka" + }, + { + "text": "1 shot Amaretto" + }, + { + "text": "1 shot Sloe gin" + }, + { + "text": "1 shot Triple sec" + }, + { + "text": "Cranberry juice" + } + ], + "steps": [ + "Pour into a large glass with ice and stir", + "Add a little cranberry juice to taste" + ], + "categories": [ + "Shot", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17006", + "alias": "kool-first-aid", + "name": "Kool First Aid", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hfp6sv1503564824.jpg", + "ingredients": [ + { + "text": "2 oz light 151 proof rum" + }, + { + "text": "1/2 tsp Tropical Kool-Aid" + } + ], + "steps": [ + "Add Kool Aid to a double shot glass, and top with rum", + "Slam and shoot" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11602", + "alias": "kentucky-b-and-b", + "name": "Kentucky B And B", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sqxsxp1478820236.jpg", + "ingredients": [ + { + "text": "2 oz Bourbon" + }, + { + "text": "1/2 oz Benedictine" + } + ], + "steps": [ + "Pour the bourbon and Benedictine into a brandy snifter" + ], + "categories": [ + "Ordinary Drink", + "Brandy snifter", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11604", + "alias": "kentucky-colonel", + "name": "Kentucky Colonel", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/utqwpu1478820348.jpg", + "ingredients": [ + { + "text": "3 oz Bourbon" + }, + { + "text": "1/2 oz Benedictine" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes combine the courbon and Benedictine", + "Shake and strain into a cocktail glass", + "Garnish with the lemon twist" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14446", + "alias": "kool-aid-slammer", + "name": "Kool-Aid Slammer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kugu2m1504735473.jpg", + "ingredients": [ + { + "text": "1/2 oz Grape Kool-Aid" + }, + { + "text": "1/2 oz Vodka" + } + ], + "steps": [ + "Fill half the shot glass with the kool-aid first", + "Then put a paper towel over the top of the glass and slowly pour in the vodka", + "If you do it right, you should be able to see that the two liquids are separated, with the vodka on top", + "Now slam it!", + "The last thing you'll taste is the kool-aid" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12714", + "alias": "kiwi-papaya-smoothie", + "name": "Kiwi Papaya Smoothie", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jogv4w1487603571.jpg", + "ingredients": [ + { + "text": "3 Kiwi" + }, + { + "text": "1/2 Papaya" + } + ], + "steps": [ + "Throw everything into a blender and liquify" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12720", + "alias": "kill-the-cold-smoothie", + "name": "Kill the cold Smoothie", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7j1z2e1487603414.jpg", + "ingredients": [ + { + "text": "1 inch Ginger" + }, + { + "text": "1/4 Lemon" + }, + { + "text": "1 cup hot Water" + } + ], + "steps": [ + "Juice ginger and lemon and add it to hot water", + "You may add cardomom" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12704", + "alias": "limeade", + "name": "Limeade", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5jdp5r1487603680.jpg", + "ingredients": [ + { + "text": "Juice of 1 Lime" + }, + { + "text": "1 tblsp Sugar" + }, + { + "text": "(seltzer water) Soda water" + }, + { + "text": "Lime peel" + } + ], + "steps": [ + "In a large glass, put the lime juice and sugar, and stir well", + "Add cold seltzer water to fill", + "Put the lime peels in the glass", + "Drink", + "Repeat until limes or soda run out" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14378", + "alias": "lunch-box", + "name": "Lunch Box", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qywpvt1454512546.jpg", + "ingredients": [ + { + "text": "3/4 bottle Beer" + }, + { + "text": "1 shot Amaretto" + }, + { + "text": "1 oz Orange juice" + } + ], + "steps": [ + "Fill a pint glass almost full with beer", + "Then fill the rest with orange juice (careful not to fill it to the top)", + "Then take the shot of Amaretto and drop it in" + ], + "categories": [ + "Beer", + "Pint glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14366", + "alias": "lemon-drop", + "name": "Lemon Drop", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mtpxgk1504373297.jpg", + "ingredients": [ + { + "text": "1 1/2 shot Vodka" + }, + { + "text": "1 1/2 shot Cointreau" + }, + { + "text": "Juice of 1 wedge Lemon" + } + ], + "steps": [ + "Shake and strain into a chilled cocktail glass rimmed with sugar" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": null + }, + { + "id": "12752", + "alias": "lemon-shot", + "name": "Lemon Shot", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mx31hv1487602979.jpg", + "ingredients": [ + { + "text": "1/2 oz Galliano" + }, + { + "text": "1/2 oz Absolut Citron" + }, + { + "text": "wedge Lemon" + }, + { + "text": "Bacardi Sugar" + }, + { + "text": "151 proof rum" + } + ], + "steps": [ + "Mix Galliano and Absolut Citron in a shot glass, lay lemon wedge sprinkled with sugar over glass and pour a rum over wedge and glass", + "light rum with a lighter and let burn for a second", + "Do shot quickly and suck on lemon", + "If it is done correctly, this will taste like a shot of sweet lemonade" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13196", + "alias": "long-vodka", + "name": "Long vodka", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/9179i01503565212.jpg", + "ingredients": [ + { + "text": "5 cl Vodka" + }, + { + "text": "1/2 Lime" + }, + { + "text": "4 dashes Angostura bitters" + }, + { + "text": "1 dl Schweppes Tonic water" + }, + { + "text": "4 Ice" + } + ], + "steps": [ + "Shake a tall glass with ice cubes and Angostura, coating the inside of the glass", + "Por the vodka onto this, add 1 slice of lime and squeeze juice out of remainder, mix with tonic, stir and voila you have a Long Vodka" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12692", + "alias": "lassi-khara", + "name": "Lassi Khara", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/m1suzm1487603970.jpg", + "ingredients": [ + { + "text": "1 cup Yoghurt" + }, + { + "text": "2 cups cold Water" + }, + { + "text": "1 tsp Salt" + }, + { + "text": "1 pinch Asafoetida" + } + ], + "steps": [ + "Blend (frappe) in blender until frothy", + "Add torn curry leaves and serve cold" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12694", + "alias": "lassi-raita", + "name": "Lassi Raita", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/s4x0qj1487603933.jpg", + "ingredients": [ + { + "text": "2 cups Yoghurt" + }, + { + "text": "4-6 Ice" + }, + { + "text": "Sugar" + }, + { + "text": "Lime" + }, + { + "text": "Salt" + } + ], + "steps": [ + "Blend the yoghurt and ice cubes together, until the yoghurt becomes more liquid", + "Add sugar to taste", + "The lemon/lime is optional but it gives it a slightly tart taste", + "Dash of salt", + "Raita is also good for the summer", + "Instead of having a traditional salad you can make raita instead" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12702", + "alias": "lemouroudji", + "name": "Lemouroudji", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/eirmo71487603745.jpg", + "ingredients": [ + { + "text": "2 pieces Ginger" + }, + { + "text": "1 gal Water" + }, + { + "text": "1 lb Lemon" + }, + { + "text": "1 cup Sugar" + }, + { + "text": "ground Cayenne pepper" + } + ], + "steps": [ + "Juice the lemons", + "Peel and grate the ginger", + "Place the grated ginger and a liberal dash of the cayenne pepper into a piece of cheesecloth, and tie it into a knot", + "Let soak in the water", + "After 15 minutes or so, add the sugar, and the lemon juice", + "Chill, and serve" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11658", + "alias": "loch-lomond", + "name": "Loch Lomond", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rpvtpr1468923881.jpg", + "ingredients": [ + { + "text": "2 oz Scotch" + }, + { + "text": "1/2 oz Drambuie" + }, + { + "text": "1/2 oz Dry Vermouth" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine the Scotch, Drambuie, and vermouth", + "Stir well", + "Strain into a cocktail glass", + "Garnish with the lemon twist" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11662", + "alias": "london-town", + "name": "London Town", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rpsrqv1468923507.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/2 oz Maraschino liqueur" + }, + { + "text": "2 dashes Orange bitters" + } + ], + "steps": [ + "In a mixing glass half-filled with ice cubes, combine all of the ingredients", + "Stir well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12698", + "alias": "lassi-mango", + "name": "Lassi - Mango", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/1bw6sd1487603816.jpg", + "ingredients": [ + { + "text": "2 Mango" + }, + { + "text": "2 cups Yoghurt" + }, + { + "text": "1/2 cup Sugar" + }, + { + "text": "1 cup iced Water" + } + ], + "steps": [ + "Put it all in a blender and pour over crushed ice", + "You can also use other fruits like strawberries and bananas" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12696", + "alias": "lassi-sweet", + "name": "Lassi - Sweet", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/9jeifz1487603885.jpg", + "ingredients": [ + { + "text": "1 cup Yoghurt" + }, + { + "text": "2 cups cold Water" + }, + { + "text": "4 tblsp Sugar" + }, + { + "text": "pinch Salt" + }, + { + "text": "2 tblsp Lemon juice" + } + ], + "steps": [ + "Put all ingredients into a blender and blend until nice and frothy", + "Serve chilled" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15086", + "alias": "limona-corona", + "name": "Limona Corona", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wwqrsw1441248662.jpg", + "ingredients": [ + { + "text": "1 bottle Corona" + }, + { + "text": "1 oz Bacardi Limon" + } + ], + "steps": [ + "Open the Corona", + "Fill the empty space in the neck in the bottle with the rum", + "The bottle should be filled to the top", + "Plug the bottle with your thumb or the palm of your hand", + "Turn the bottle upside-down so the rum and beer mix", + "Turn the bottle rightside-up, unplug, and drink" + ], + "categories": [ + "Beer", + "Beer Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11670", + "alias": "lord-and-lady", + "name": "Lord And Lady", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/quwrys1468923219.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dark rum" + }, + { + "text": "1/2 oz Tia maria" + } + ], + "steps": [ + "Pour the rum and Tia Maria into an old-fashioned glass almost filled with ice cubes", + "Stir well" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11634", + "alias": "lady-love-fizz", + "name": "Lady Love Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/20d63k1504885263.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "2 tsp Light cream" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 Egg white" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients (except carbonated water) with ice and strain into a cocktail glass over two ice cubes", + "Fill with carbonated water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11002", + "alias": "long-island-tea", + "name": "Long Island Tea", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/nkwr4c1606770558.jpg", + "ingredients": [ + { + "text": "1/2 oz Vodka" + }, + { + "text": "1/2 oz Light rum" + }, + { + "text": "1/2 oz Gin" + }, + { + "text": "1/2 oz Tequila" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 splash Coca-Cola" + } + ], + "steps": [ + "Combine all ingredients (except cola) and pour over ice in a highball glass", + "Add the splash of cola for color", + "Decorate with a slice of lemon and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Strong", + "Asia", + "StrongFlavor", + "Brunch", + "Vegetarian", + "Sour" + ], + "ibaCategory": null + }, + { + "id": "11666", + "alias": "lone-tree-cooler", + "name": "Lone Tree Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wsyqry1479298485.jpg", + "ingredients": [ + { + "text": "Carbonated water" + }, + { + "text": "Gin" + }, + { + "text": "Dry Vermouth" + }, + { + "text": "Powdered sugar" + }, + { + "text": "Orange spiral" + }, + { + "text": "Lemon peel" + } + ], + "steps": [ + "Stir powdered sugar and 2 oz", + "carbonated water in a collins glass", + "Fill glass with ice, add gin and vermouth, and stir", + "Fill with carbonated water and stir again", + "Add the twist of lemon peel and the orange spiral so that the end dangles over rim of glass" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11664", + "alias": "lone-tree-cocktail", + "name": "Lone Tree Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tsxpty1468923417.jpg", + "ingredients": [ + { + "text": "3/4 oz Sweet Vermouth" + }, + { + "text": "1 1/2 oz Gin" + } + ], + "steps": [ + "Stir ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178335", + "alias": "lazy-coconut-paloma", + "name": "Lazy Coconut Paloma", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rytuex1598719770.jpg", + "ingredients": [ + { + "text": "30 ml Coconut Liqueur" + }, + { + "text": "75 ml Grapefruit Juice" + }, + { + "text": "Top Soda Water" + } + ], + "steps": [ + "Mix the coconut liqueur (preferably tequila) with the grapefruit juice and top with soda water", + "Garnish with a large grapefruit slice against the inside of the glass" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Lazy", + "Sharp" + ], + "ibaCategory": null + }, + { + "id": "17204", + "alias": "long-island-iced-tea", + "name": "Long Island Iced Tea", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wx7hsg1504370510.jpg", + "ingredients": [ + { + "text": "1/2 oz Vodka" + }, + { + "text": "1/2 oz Tequila" + }, + { + "text": "1/2 oz Light rum" + }, + { + "text": "1/2 oz Gin" + }, + { + "text": "1 dash Coca-Cola" + }, + { + "text": "Twist of Lemon peel" + } + ], + "steps": [ + "Mix all contents in a highball glass and sitr gently", + "Add dash of Coca-Cola for the coloring and garnish with lemon or lime twist" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "178360", + "alias": "lemon-elderflower-spritzer", + "name": "Lemon Elderflower Spritzer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/125w0o1630407389.jpg", + "ingredients": [ + { + "text": "2 tsp Elderflower cordial" + }, + { + "text": "1 shot Vodka" + }, + { + "text": "1/3 cup Soda Water" + }, + { + "text": "Top Fresh Lemon Juice" + } + ], + "steps": [ + "Pour all ingredients over ice, stir and enjoy!" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Summer", + "Fresh", + "Refreshing" + ], + "ibaCategory": null + }, + { + "id": "12690", + "alias": "lassi-a-south-indian-drink", + "name": "Lassi - A South Indian Drink", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/iq6scx1487603980.jpg", + "ingredients": [ + { + "text": "1/2 cup plain Yoghurt" + }, + { + "text": "1 1/4 cup cold Water" + }, + { + "text": "1/2 tsp ground roasted Cumin seed" + }, + { + "text": "1/4 tsp Salt" + }, + { + "text": "1/4 tsp dried Mint" + } + ], + "steps": [ + "Blend in a blender for 3 seconds", + "Lassi is one of the easiest things to make, and there are many ways of making it", + "Basically, it is buttermilk (yoghurt whisked with water), and you can choose almost any consistency that you like, from the thinnest to the thickest", + "Serve cold" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12776", + "alias": "melya", + "name": "Melya", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xwtptq1441247579.jpg", + "ingredients": [ + { + "text": "Espresso" + }, + { + "text": "Unsweetened Honey" + }, + { + "text": "Cocoa powder" + } + ], + "steps": [ + "Brew espresso", + "In a coffee mug, place 1 teaspoon of unsweetened powdered cocoa, then cover a teaspoon with honey and drizzle it into the cup", + "Stir while the coffee brews, this is the fun part", + "The cocoa seems to coat the honey without mixing, so you get a dusty, sticky mass that looks as though it will never mix", + "Then all at once, presto!", + "It looks like dark chocolate sauce", + "Pour hot espresso over the honey, stirring to dissolve", + "Serve with cream" + ], + "categories": [ + "Coffee / Tea", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11000", + "alias": "mojito", + "name": "Mojito", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/metwgh1606770327.jpg", + "ingredients": [ + { + "text": "2-3 oz Light rum" + }, + { + "text": "Juice of 1 Lime" + }, + { + "text": "2 tsp Sugar" + }, + { + "text": "2-4 Mint" + }, + { + "text": "Soda water" + } + ], + "steps": [ + "Muddle mint leaves with sugar and lime juice", + "Add a splash of soda water and fill the glass with cracked ice", + "Pour the rum and top with soda water", + "Garnish and serve with straw" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic", + "Alcoholic", + "USA", + "Asia", + "Vegan", + "Citrus", + "Brunch", + "Hangover", + "Mild" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "17205", + "alias": "mimosa", + "name": "Mimosa", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/juhcuu1504370685.jpg", + "ingredients": [ + { + "text": "Chilled Champagne" + }, + { + "text": "2 oz Orange juice" + } + ], + "steps": [ + "Ensure both ingredients are well chilled, then mix into the glass", + "Serve cold" + ], + "categories": [ + "Ordinary Drink", + "Champagne flute", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "11690", + "alias": "mai-tai", + "name": "Mai Tai", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/twyrrp1439907470.jpg", + "ingredients": [ + { + "text": "1 oz Light rum" + }, + { + "text": "1/2 oz Orgeat syrup" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1 1/2 oz Sweet and sour" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Shake all ingredients with ice", + "Strain into glass", + "Garnish and serve with straw" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "11728", + "alias": "martini", + "name": "Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/71t8581504353095.jpg", + "ingredients": [ + { + "text": "1 2/3 oz Gin" + }, + { + "text": "1/3 oz Dry Vermouth" + }, + { + "text": "1 Olive" + } + ], + "steps": [ + "Straight: Pour all ingredients into mixing glass with ice cubes", + "Stir well", + "Strain in chilled martini cocktail glass", + "Squeeze oil from lemon peel onto the drink, or garnish with olive" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": "Unforgettables" + }, + { + "id": "178343", + "alias": "michelada", + "name": "Michelada", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/u736bd1605907086.jpg", + "ingredients": [ + { + "text": "4 oz Beer" + }, + { + "text": "4 oz Tomato Juice" + }, + { + "text": "1 tblsp Lime Juice" + }, + { + "text": "Dash Hot Sauce" + }, + { + "text": "Dash Worcestershire Sauce" + }, + { + "text": "Dash Soy Sauce" + } + ], + "steps": [ + "Mix the beer with tomato juice, freshly squeezed lime juice, and Worcestershire sauce, teriyaki sauce, soy sauce, or hot sauce", + "Served In a chilled, salt-rimmed glass" + ], + "categories": [ + "Cocktail", + "Pint glass", + "Alcoholic" + ], + "tags": [ + "Hangover", + "StrongFlavor", + "Breakfast" + ], + "ibaCategory": null + }, + { + "id": "11008", + "alias": "manhattan", + "name": "Manhattan", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yk70e31606771240.jpg", + "ingredients": [ + { + "text": "3/4 oz Sweet Vermouth" + }, + { + "text": "2 1/2 oz Blended Bourbon" + }, + { + "text": "dash Angostura bitters" + }, + { + "text": "2 or 3 Ice" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 twist of Orange peel" + } + ], + "steps": [ + "Stirred over ice, strained into a chilled glass, garnished, and served up" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Alcoholic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11007", + "alias": "margarita", + "name": "Margarita", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5noda61589575158.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Tequila" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1 oz Lime juice" + }, + { + "text": "Salt" + } + ], + "steps": [ + "Rub the rim of the glass with the lime slice to make the salt stick to it", + "Take care to moisten only the outer rim and sprinkle the salt on it", + "The salt should present to the lips of the imbiber and never mix into the cocktail", + "Shake the other ingredients with ice, then carefully pour into the glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "178370", + "alias": "mauresque", + "name": "Mauresque", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/duwfa11686236556.jpg", + "ingredients": [ + { + "text": "3 cl Ricard" + }, + { + "text": "1 cl Orgeat Syrup" + }, + { + "text": "Full Glass Water" + } + ], + "steps": [ + "1 - Pour the Ricard (or pastis)\n2 - Pour the orgeat syrup\n3 - Finally pour the water and add ice cubes at your convenience", + "Add the ice cubes at the end, otherwise the syrup and pastis do not mix well" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17206", + "alias": "mint-julep", + "name": "Mint Julep", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/squyyq1439907312.jpg", + "ingredients": [ + { + "text": "4 fresh Mint" + }, + { + "text": "2 1/2 oz Bourbon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "2 tsp Water" + } + ], + "steps": [ + "In a highball glass gently muddle the mint, sugar and water", + "Fill the glass with cracked ice, add Bourbon and stir well until the glass is well frosted", + "Garnish with a mint sprig" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": null + }, + { + "id": "16041", + "alias": "mudslinger", + "name": "Mudslinger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hepk6h1504885554.jpg", + "ingredients": [ + { + "text": "750 ml Southern Comfort" + }, + { + "text": "1 L Orange juice" + }, + { + "text": "750 ml Pepsi Cola" + } + ], + "steps": [ + "Add all contents to a large jug or punch bowl", + "Stir well!" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17256", + "alias": "martinez-2", + "name": "Martinez 2", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/fs6kiq1513708455.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 1/2 oz Sweet Vermouth" + }, + { + "text": "1 tsp Maraschino Liqueur" + }, + { + "text": "2 dashes Angostura Bitters" + } + ], + "steps": [ + "Add all ingredients to a mixing glass and fill with ice", + "Stir until chilled, and strain into a chilled coupe glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16196", + "alias": "moranguito", + "name": "Moranguito", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/urpsyq1475667335.jpg", + "ingredients": [ + { + "text": "2/5 Absinthe" + }, + { + "text": "2/5 Tequila" + }, + { + "text": "1/5 Grenadine" + } + ], + "steps": [ + "first you put rhe absinthe, then put tequila, then put the Granadine syrup" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13936", + "alias": "miami-vice", + "name": "Miami Vice", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qvuyqw1441208955.jpg", + "ingredients": [ + { + "text": "5 oz Bacardi 151 proof rum" + }, + { + "text": "frozen Pina colada mix" + }, + { + "text": "frozen Daiquiri mix" + } + ], + "steps": [ + "First: Mix pina colada with 2.5 oz", + "of rum with ice(set aside)", + "Second: Mix daiquiri with 2.5 oz", + "of rum with ice", + "Third: While frozen, add pina colda mix then daiquiri mix in glass (Making sure they do not get mixed together)" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA" + ], + "ibaCategory": null + }, + { + "id": "11009", + "alias": "moscow-mule", + "name": "Moscow Mule", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3pylqc1504370988.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "2 oz Lime juice" + }, + { + "text": "8 oz Ginger ale" + } + ], + "steps": [ + "Combine vodka and ginger beer in a highball glass filled with ice", + "Add lime juice", + "Stir gently", + "Garnish" + ], + "categories": [ + "Punch / Party Drink", + "Copper Mug", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "12988", + "alias": "mulled-wine", + "name": "Mulled Wine", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/iuwi6h1504735724.jpg", + "ingredients": [ + { + "text": "3 cups Water" + }, + { + "text": "1 cup Sugar" + }, + { + "text": "12 Cloves" + }, + { + "text": "2 Cinnamon" + }, + { + "text": "1 Lemon peel" + }, + { + "text": "750 ml Red wine" + }, + { + "text": "1/4 cup Brandy" + } + ], + "steps": [ + "Simmer 3 cups water with, sugar, cloves, cinnamon sticks, and lemon peel in a stainless steel pot for 10 minutes", + "Add wine heat to a \"coffee temperature\" (DO NOT BOIL) then add the brandy" + ], + "categories": [ + "Punch / Party Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [ + "Christmas" + ], + "ibaCategory": null + }, + { + "id": "12774", + "alias": "masala-chai", + "name": "Masala Chai", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uyrpww1441246384.jpg", + "ingredients": [ + { + "text": "2 cups Water" + }, + { + "text": "3-4 tsp Tea" + }, + { + "text": "1 chunk dried Ginger" + }, + { + "text": "3-4 crushed Cardamom" + }, + { + "text": "3 Cloves" + }, + { + "text": "1 piece Cinnamon" + }, + { + "text": "1-2 whole Black pepper" + }, + { + "text": "to taste Sugar" + }, + { + "text": "to taste Milk" + } + ], + "steps": [ + "Bring 2 cups of water to boil", + "Add all the ingredients and boil again for about 15 seconds", + "Let stand for a minute", + "Warm milk in a pot", + "Filter tea into cups", + "Add milk and sugar", + "That's IT" + ], + "categories": [ + "Coffee / Tea", + "Coffee Mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178315", + "alias": "munich-mule", + "name": "Munich Mule", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rj55pl1582476101.jpg", + "ingredients": [ + { + "text": "5 cl Gin" + }, + { + "text": "2 cl Lime Juice" + }, + { + "text": "10 cl Ginger Beer" + }, + { + "text": "Chopped Cucumber" + }, + { + "text": "Chopped lemon" + } + ], + "steps": [ + "Fill glass with ice\r\nPour Gin and Lime Juice\r\nFill glass with Ginger Beer\r\nGarnish with Cucumer and Lime slice" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "German" + ], + "ibaCategory": null + }, + { + "id": "14209", + "alias": "mocha-berry", + "name": "Mocha-Berry", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vtwyyx1441246448.jpg", + "ingredients": [ + { + "text": "6 oz Coffee" + }, + { + "text": "2 oz Chambord raspberry liqueur" + }, + { + "text": "2 tblsp Cocoa powder" + }, + { + "text": "Whipped cream" + } + ], + "steps": [ + "pour 6 oz", + "of coffee in a mug or Irish coffee cup", + "add coca mix and chambord, mix well and top off with whipped cream" + ], + "categories": [ + "Coffee / Tea", + "Irish coffee cup", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178358", + "alias": "mango-mojito", + "name": "Mango Mojito", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wfqmgm1630406820.jpg", + "ingredients": [ + { + "text": "3 Lime" + }, + { + "text": "1 Fresh Mango" + }, + { + "text": "Sprig Mint" + }, + { + "text": "200 ml White Rum" + }, + { + "text": "cubes Ice" + }, + { + "text": "Top Soda Water" + }, + { + "text": "Garnish with Mango" + } + ], + "steps": [ + "Squeeze the juice from 1½ limes and blend with the mango to give a smooth purée", + "Cut the rest of the limes into quarters, and then cut each wedge in half again", + "Put 2 pieces of lime in a highball glass for each person and add 1 teaspoon of caster sugar and 5-6 mint leaves to each glass", + "Squish everything together with a muddler or the end of a rolling pin to release all the flavours from the lime and mint", + "Divide the mango purée between the glasses and add 30ml white rum and a handful of crushed ice to each one, stirring well to mix everything together", + "Top up with soda water to serve and garnish with extra mint, if you like" + ], + "categories": [ + "Cocktail", + "Jar", + "Alcoholic" + ], + "tags": [ + "Fruity" + ], + "ibaCategory": null + }, + { + "id": "15841", + "alias": "mojito-extra", + "name": "Mojito Extra", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vwxrsw1478251483.jpg", + "ingredients": [ + { + "text": "1/2 handful Mint" + }, + { + "text": "3 cl Lemon juice" + }, + { + "text": "1/8 L Jamaican Dark rum" + }, + { + "text": "1/8 L Club soda" + }, + { + "text": "8 drops Angostura bitters" + } + ], + "steps": [ + "Put mint with lemon juice in a glas, mash the mint with a spoon, ice, rum & fill up with club soda", + "Top it with Angostura" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17189", + "alias": "monkey-gland", + "name": "Monkey Gland", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/94psp81504350690.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 tsp Benedictine" + }, + { + "text": "1/2 oz Orange juice" + }, + { + "text": "1 tsp Grenadine" + } + ], + "steps": [ + "Shake well over ice cubes in a shaker, strain into a chilled cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "14842", + "alias": "midnight-mint", + "name": "Midnight Mint", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/svuvrq1441208310.jpg", + "ingredients": [ + { + "text": "1 oz Baileys irish cream" + }, + { + "text": "3/4 oz White Creme de Menthe" + }, + { + "text": "3/4 oz double Cream" + } + ], + "steps": [ + "If available, rim cocktail (Martini) glass with sugar syrup then dip into chocolate flakes or powder", + "Add ingredients into shaker with ice", + "Shake well then strain into cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17188", + "alias": "mary-pickford", + "name": "Mary Pickford", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/f9erqb1504350557.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "1 oz Pineapple juice" + }, + { + "text": "1/2 tsp Maraschino liqueur" + }, + { + "text": "1/2 tsp Grenadine" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "Shake and strain into a chilled large cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11798", + "alias": "monkey-wrench", + "name": "Monkey Wrench", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bw2noj1582473243.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "3 oz Grapefruit juice" + }, + { + "text": "1 dash Bitters" + } + ], + "steps": [ + "Pour all of the ingredients into an old-fashioned glass almost filled with ice cubes", + "Stir well" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11003", + "alias": "negroni", + "name": "Negroni", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qgdu971561574065.jpg", + "ingredients": [ + { + "text": "1 oz Gin" + }, + { + "text": "1 oz Campari" + }, + { + "text": "1 oz Sweet Vermouth" + } + ], + "steps": [ + "Stir into glass over ice, garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11844", + "alias": "new-york-sour", + "name": "New York Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/61wgch1504882795.jpg", + "ingredients": [ + { + "text": "2 oz Blended whiskey" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Sugar" + }, + { + "text": "(Claret) Red wine" + }, + { + "text": "Lemon" + }, + { + "text": "Cherry" + } + ], + "steps": [ + "Shake blended whiskey, juice of lemon, and powdered sugar with ice and strain into a whiskey sour glass", + "Float claret on top", + "Decorate with the half-slice of lemon and the cherry and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13861", + "alias": "nutty-irishman", + "name": "Nutty Irishman", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xspupx1441248014.jpg", + "ingredients": [ + { + "text": "1 part Baileys irish cream" + }, + { + "text": "1 part Frangelico" + }, + { + "text": "1 part Milk" + } + ], + "steps": [ + "Serve over ice" + ], + "categories": [ + "Shake", + "Highball Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13192", + "alias": "national-aquarium", + "name": "National Aquarium", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/dlw0om1503565021.jpg", + "ingredients": [ + { + "text": "1/2 oz Rum" + }, + { + "text": "1/2 oz Vodka" + }, + { + "text": "1/2 oz Gin" + }, + { + "text": "1/2 oz Blue Curacao" + }, + { + "text": "2 oz Sour mix" + }, + { + "text": "1 splash Lemon-lime soda" + } + ], + "steps": [ + "Pour all ingredients into a shaker of ice", + "Shake well", + "Serve on the rocks" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13204", + "alias": "new-york-lemonade", + "name": "New York Lemonade", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/b3n0ge1503565473.jpg", + "ingredients": [ + { + "text": "2 oz Absolut Citron" + }, + { + "text": "1 oz Grand Marnier" + }, + { + "text": "2 oz sweetened Lemon juice" + }, + { + "text": "1 oz Club soda" + } + ], + "steps": [ + "Serve in a chilled cocktail glass", + "Lemon and sugar the rim", + "Stir and Strain" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12746", + "alias": "nuked-hot-chocolate", + "name": "Nuked Hot Chocolate", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xcu6nb1487603142.jpg", + "ingredients": [ + { + "text": "2 tsp Cocoa powder" + }, + { + "text": "1 tsp Sugar" + }, + { + "text": "1/2 tsp Vanilla extract" + }, + { + "text": "12 oz Milk" + } + ], + "steps": [ + "Mix with a bit of milk (1 oz or so) in coffee mug", + "Nuke mug for about 30-50 seconds", + "Stir until the heated cocoa dissolves", + "Fill mug with milk", + "Nuke for 1-2 minutes, depending on wattage and preferences as to burnt mouth parts" + ], + "categories": [ + "Cocoa", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11872", + "alias": "orgasm", + "name": "Orgasm", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vr6kle1504886114.jpg", + "ingredients": [ + { + "text": "1/2 oz white Creme de Cacao" + }, + { + "text": "1/2 oz Amaretto" + }, + { + "text": "1/2 oz Triple sec" + }, + { + "text": "1/2 oz Vodka" + }, + { + "text": "1 oz Light cream" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a chilled cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17827", + "alias": "old-pal", + "name": "Old Pal", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/x03td31521761009.jpg", + "ingredients": [ + { + "text": "2 oz Rye whiskey" + }, + { + "text": "1 oz Campari" + }, + { + "text": "1 oz Dry Vermouth" + } + ], + "steps": [ + "Chill cocktail glass", + "Add ingredients to a mixing glass, and fill 2/3 full with ice", + "Stir about 20 seconds", + "Empty cocktail glass and strain into the glass", + "Garnish with a twist of lemon peel" + ], + "categories": [ + "Cocktail", + "Nick and Nora Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178371", + "alias": "old-cuban", + "name": "Old Cuban", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/eo8gfx1699022995.jpg", + "ingredients": [ + { + "text": "2 oz White Rum" + }, + { + "text": "1 oz Sugar Syrup" + }, + { + "text": "1 oz Lime Juice" + }, + { + "text": "2 dashes Angostura Bitters" + }, + { + "text": "2 oz Prosecco" + } + ], + "steps": [ + "Shake a handful of mint, 2oz white rum, 1oz of sugar syrup, 1oz lime juice and 2 dashes angostura bitters with ice", + "Double strain into a glass and top with 2oz of prosecco" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12618", + "alias": "orangeade", + "name": "Orangeade", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ytsxxw1441167732.jpg", + "ingredients": [ + { + "text": "5 cl Lemon juice" + }, + { + "text": "15 cl Orange juice" + }, + { + "text": "2-3 cl Sugar syrup" + }, + { + "text": "Soda water" + } + ], + "steps": [ + "Place some ice cubes in a large tumbler or highball glass, add lemon juice, orange juice, sugar syrup, and stir well", + "Top up with cold soda water, serve with a drinking straw" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16995", + "alias": "orange-whip", + "name": "Orange Whip", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ttyrxr1454514759.jpg", + "ingredients": [ + { + "text": "4 oz Orange juice" + }, + { + "text": "1 oz Rum" + }, + { + "text": "1 oz Vodka" + }, + { + "text": "1 package Cream" + }, + { + "text": "Over Ice" + } + ], + "steps": [ + "Pour ingredients over ice and stir" + ], + "categories": [ + "Other / Unknown", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15330", + "alias": "orange-crush", + "name": "Orange Crush", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/zvoics1504885926.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 oz Orange juice" + } + ], + "steps": [ + "Add all ingredients to tumbler-Pour as shot" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11870", + "alias": "orange-oasis", + "name": "Orange Oasis", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/su1olx1582473812.jpg", + "ingredients": [ + { + "text": "1/2 oz Cherry brandy" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "4 oz Orange juice" + }, + { + "text": "Ginger ale" + } + ], + "steps": [ + "Shake brandy, gin, and orange juice with ice and strain into a highball glass over ice cubes", + "Fill with ginger ale, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11001", + "alias": "old-fashioned", + "name": "Old Fashioned", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vrwquq1478252802.jpg", + "ingredients": [ + { + "text": "4.5 cL Bourbon" + }, + { + "text": "2 dashes Angostura bitters" + }, + { + "text": "1 cube Sugar" + }, + { + "text": "dash Water" + } + ], + "steps": [ + "Place sugar cube in old fashioned glass and saturate with bitters, add a dash of plain water", + "Muddle until dissolved", + "Fill the glass with ice cubes and add whiskey", + "Garnish with orange twist, and a cocktail cherry" + ], + "categories": [ + "Cocktail", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Alcoholic", + "Expensive", + "Savory" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "13499", + "alias": "oreo-mudslide", + "name": "Oreo Mudslide", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tpwwut1468925017.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Kahlua" + }, + { + "text": "1 oz Baileys irish cream" + }, + { + "text": "2 scoops Vanilla ice-cream" + }, + { + "text": "1 Oreo cookie" + } + ], + "steps": [ + "Blend Vodka, Kahlua, Bailey's, ice-cream and the Oreo well in a blender", + "Pour into a large frosted glass", + "Garnish with whipped cream and a cherry" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17266", + "alias": "oatmeal-cookie", + "name": "Oatmeal Cookie", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bsvmlg1515792693.jpg", + "ingredients": [ + { + "text": "2 parts Kahlua" + }, + { + "text": "2 parts Baileys irish cream" + }, + { + "text": "4 parts Butterscotch schnapps" + }, + { + "text": "1 part Jagermeister" + }, + { + "text": "1/2 part Goldschlager" + } + ], + "steps": [ + "Just mix it all together", + "It's meant to be a shot, but it works just fine as a proper adult-sized drink over lots of ice", + "Tastes like an oatmeal cookie" + ], + "categories": [ + "Cocktail", + "Mason jar", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14586", + "alias": "orange-push-up", + "name": "Orange Push-up", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mgf0y91503565781.jpg", + "ingredients": [ + { + "text": "1.5 oz Spiced rum" + }, + { + "text": "0.5 oz Grenadine" + }, + { + "text": "4 oz Orange juice" + }, + { + "text": "1 splash Sour mix" + } + ], + "steps": [ + "Combine liquors in a blender", + "Add a half scoop of ice and blend", + "Garnish with an orange and cherry flag", + "So good it will melt in your mouth!!!" + ], + "categories": [ + "Ordinary Drink", + "Hurricane glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178341", + "alias": "orange-rosemary-collins", + "name": "Orange Rosemary Collins", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mokcas1604179977.jpg", + "ingredients": [ + { + "text": "1 shot Gin" + }, + { + "text": "Top Orange Juice" + }, + { + "text": "Top Lemon Juice" + }, + { + "text": "25 ml Rosemary Syrup" + }, + { + "text": "Top Soda Water" + }, + { + "text": "Garnish with Rosemary" + }, + { + "text": "Garnish with Orange Peel" + } + ], + "steps": [ + "Add the spirits to the bottom of the glass and top equally with the mixer drinks", + "Garnish with orange slices inside the glass as well as some rosemary on top" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Citrus" + ], + "ibaCategory": null + }, + { + "id": "12748", + "alias": "orange-scented-hot-chocolate", + "name": "Orange Scented Hot Chocolate", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hdzwrh1487603131.jpg", + "ingredients": [ + { + "text": "2 cups Milk" + }, + { + "text": "4 oz chopped bittersweet or semi-sweet Chocolate" + }, + { + "text": "3 2-inch strips Orange peel" + }, + { + "text": "1/2 tsp instant Espresso" + }, + { + "text": "1/8 tsp ground Nutmeg" + } + ], + "steps": [ + "Combine all ingredients in heavy medium saucepan", + "Stir over low heat until chocolate melts", + "Increase heat and bring just to a boil, stirring often", + "Remove from heat and whisk untily frothy", + "Return to heat and bring to boil again", + "Remove from heat, whisk until frothy", + "Repeat heating and whisking once again", + "Discard orange peel", + "(Can be prepared 2 hours ahead", + "Let stand at room temperature", + "Before serving, bring just to boil, remove from heat and whisk until frothy.) Pour hot chocolate into coffee mugs", + "Makes 2 servings" + ], + "categories": [ + "Cocoa", + "Coffee mug", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13200", + "alias": "owens-grandmothers-revenge", + "name": "Owen's Grandmother's Revenge", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0wt4uo1503565321.jpg", + "ingredients": [ + { + "text": "12 oz Whiskey" + }, + { + "text": "12 oz Beer" + }, + { + "text": "12 oz frozen Lemonade" + }, + { + "text": "1 cup crushed Ice" + } + ], + "steps": [ + "Add ingredients and mix in blender" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17253", + "alias": "paloma", + "name": "Paloma", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/samm5j1513706393.jpg", + "ingredients": [ + { + "text": "3 oz Grape Soda" + }, + { + "text": "1 1/2 oz Tequila" + } + ], + "steps": [ + "Stir together and serve over ice" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17190", + "alias": "paradise", + "name": "Paradise", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ejozd71504351060.jpg", + "ingredients": [ + { + "text": "7 parts Gin" + }, + { + "text": "4 parts Apricot Brandy" + }, + { + "text": "3 parts Orange Juice" + } + ], + "steps": [ + "Shake together over ice", + "Strain into cocktail glass and serve chilled" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "11936", + "alias": "pink-gin", + "name": "Pink Gin", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qyr51e1504888618.jpg", + "ingredients": [ + { + "text": "3 dashes Bitters" + }, + { + "text": "2 oz Gin" + } + ], + "steps": [ + "Pour the bitters into a wine glass", + "Swirl the glass to coat the inside with the bitters, shake out the excess", + "Pour the gin into the glass", + "Do not add ice" + ], + "categories": [ + "Ordinary Drink", + "White wine glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17249", + "alias": "pegu-club", + "name": "Pegu Club", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jfkemm1513703902.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "3/4 oz Orange Curacao" + }, + { + "text": "3/4 oz Lime Juice" + }, + { + "text": "1 dash Angostura Bitters" + }, + { + "text": "1 dash Orange Bitters" + } + ], + "steps": [ + "Shake, strain, up, cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11938", + "alias": "pink-lady", + "name": "Pink Lady", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5ia6j21504887829.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "1 tsp Light cream" + }, + { + "text": "1 Egg white" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178354", + "alias": "pink-moon", + "name": "Pink Moon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/lnjoc81619696191.jpg", + "ingredients": [ + { + "text": "1 shot Gin" + }, + { + "text": "1 shot Coconut Liqueur" + }, + { + "text": "25 ml Elderflower cordial" + }, + { + "text": "30 ml Lime Juice" + }, + { + "text": "Garnish with Blackberries" + } + ], + "steps": [ + "Slowly shake in a shaker with ice, strain into a square whiskey glass", + "Top with fresh ice", + "Add the blackberries to garnish", + "Add flowers and a green leaf for a special look!" + ], + "categories": [ + "Cocktail", + "Whiskey Glass", + "Alcoholic" + ], + "tags": [ + "Fresh", + "Summer", + "Colourful", + "Nature" + ], + "ibaCategory": null + }, + { + "id": "17829", + "alias": "penicillin", + "name": "Penicillin", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hc9b1a1521853096.jpg", + "ingredients": [ + { + "text": "2 oz Blended Scotch" + }, + { + "text": "3/4 oz Lemon Juice" + }, + { + "text": "2 tsp Honey syrup" + }, + { + "text": "2 tsp Ginger Syrup" + }, + { + "text": "1/4 oz Islay single malt Scotch" + } + ], + "steps": [ + "Shake blended Scotch, lemon juice, honey syrup and ginger syrup with ice", + "Strain over large ice in chilled rocks glass", + "Float smoky Scotch on top (be sure to use a smoky Scotch such as an Islay single malt)", + "Garnish with candied ginger" + ], + "categories": [ + "Cocktail", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13214", + "alias": "pisco-sour", + "name": "Pisco Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tsssur1439907622.jpg", + "ingredients": [ + { + "text": "2 oz Pisco" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1-2 tblsp Sugar" + }, + { + "text": "1 Ice" + }, + { + "text": "Egg White" + } + ], + "steps": [ + "Vigorously shake and strain contents in a cocktail shaker with ice cubes, then pour into glass and garnish with bitters" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "17192", + "alias": "porto-flip", + "name": "Porto flip", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/64x5j41504351518.jpg", + "ingredients": [ + { + "text": "3 parts Brandy" + }, + { + "text": "9 parts Port" + }, + { + "text": "2 parts Egg Yolk" + } + ], + "steps": [ + "Shake ingredients together in a mixer with ice", + "Strain into glass, garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "17207", + "alias": "pina-colada", + "name": "Pina Colada", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/upgsue1668419912.jpg", + "ingredients": [ + { + "text": "3 oz Light rum" + }, + { + "text": "3 tblsp Coconut milk" + }, + { + "text": "3 tblsp Pineapple" + } + ], + "steps": [ + "Mix with crushed ice in blender until smooth", + "Pour into chilled glass, garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "16992", + "alias": "pink-penocha", + "name": "Pink Penocha", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6vigjx1503564007.jpg", + "ingredients": [ + { + "text": "750 ml Everclear" + }, + { + "text": "1750 ml Vodka" + }, + { + "text": "1750 ml Peach schnapps" + }, + { + "text": "1 gal Orange juice" + }, + { + "text": "1 gal Cranberry juice" + } + ], + "steps": [ + "mix all ingredients into bowl keep iced stir frequently" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178338", + "alias": "pure-passion", + "name": "Pure Passion", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/4tymma1604179273.jpg", + "ingredients": [ + { + "text": "40 ml Rum" + }, + { + "text": "20 ml Passoa" + }, + { + "text": "30 ml Lime Juice" + }, + { + "text": "15 ml Passion fruit syrup" + }, + { + "text": "Dash Peach Bitters" + }, + { + "text": "Garnish with Mint" + } + ], + "steps": [ + "Mix up all ingredients with a cocktail stirrer and serve with crushed ice with mint and edible flour if available" + ], + "categories": [ + "Cocktail", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [ + "Passion" + ], + "ibaCategory": null + }, + { + "id": "13072", + "alias": "popped-cherry", + "name": "Popped cherry", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sxvrwv1473344825.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "2 oz Cherry liqueur" + }, + { + "text": "4 oz Cranberry juice" + }, + { + "text": "4 oz Orange juice" + } + ], + "steps": [ + "Served over ice in a tall glass with a popped cherry (can add more popped cherries if in the mood)!" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11959", + "alias": "poppy-cocktail", + "name": "Poppy Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/cslw1w1504389915.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "3/4 oz white Creme de Cacao" + } + ], + "steps": [ + "Shake ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11965", + "alias": "port-wine-flip", + "name": "Port Wine Flip", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vrprxu1441553844.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Port" + }, + { + "text": "2 tsp Light cream" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 whole Egg" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Shake all ingredients (except nutmeg) with ice and strain into a whiskey sour glass", + "Sprinkle nutmeg on top and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17191", + "alias": "planters-punch", + "name": "Planter's Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/fdk8a31606854815.jpg", + "ingredients": [ + { + "text": "1 part Dark rum" + }, + { + "text": "1/2 part Orgeat syrup" + }, + { + "text": "2 parts Orange juice" + }, + { + "text": "1 part Pineapple juice" + } + ], + "steps": [ + "Pour all ingredients, except the bitters, into shaker filled with ice", + "Shake well", + "Pour into large glass, filled with ice", + "Add Angostura bitters, \"on top\"", + "Garnish with cocktail cherry and pineapple" + ], + "categories": [ + "Punch / Party Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "178327", + "alias": "pineapple-paloma", + "name": "Pineapple Paloma", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pg8iw31593351601.jpg", + "ingredients": [ + { + "text": "4 oz Tequila" + }, + { + "text": "4 oz Grapefruit Juice" + }, + { + "text": "1 oz Fresh Lime Juice" + }, + { + "text": "8 oz Pineapple Juice" + }, + { + "text": "Garnish with Lime" + }, + { + "text": "Rimmed Pepper" + } + ], + "steps": [ + "Rub the rim of each glass with lime slice and dip into salt", + "Add ice, tequila, grapefruit juice, lime juice and top with pineapple soda", + "Give it a quick stir", + "Garnish with fresh pineapple or lime" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178357", + "alias": "pornstar-martini", + "name": "Pornstar Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xjhjdf1630406071.jpg", + "ingredients": [ + { + "text": "3 cl Vodka" + }, + { + "text": "3 cl Passoa" + }, + { + "text": "1 cl Passion fruit juice" + }, + { + "text": "1 cl Lime" + }, + { + "text": "1 shot Prosecco" + } + ], + "steps": [ + "Straight: Pour all ingredients into mixing glass with ice cubes", + "Shake well", + "Strain in chilled martini cocktail glass", + "Cut passion fruit in half and use as garnish", + "Pour prosecco into a chilled shot glass and serve alongside the martini" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "Adult", + "Shot", + "Bubbly" + ], + "ibaCategory": null + }, + { + "id": "178368", + "alias": "planters-punch-178368", + "name": "Planter’s Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jn6o251643844541.jpg", + "ingredients": [ + { + "text": "4.5 cL Dark Rum" + }, + { + "text": "3 cl Orange Juice" + }, + { + "text": "3.5 cl Pineapple Juice" + }, + { + "text": "1 cl Grenadine" + }, + { + "text": "1 cl Sugar Syrup" + }, + { + "text": "4 drops Angostura Bitters" + } + ], + "steps": [ + "Squeeze an orange and strain the juice", + "Put all the ingredients in a shaker filled with ice and shake for at least 12 seconds", + "Strain into a highball glass and decorate with a pineapple wedge or fruit of your choice" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11961", + "alias": "port-and-starboard", + "name": "Port And Starboard", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wxvupx1441553911.jpg", + "ingredients": [ + { + "text": "1 tblsp Grenadine" + }, + { + "text": "1/2 oz Green Creme de Menthe" + } + ], + "steps": [ + "Pour carefully into a pousse-cafe glass, so that creme de menthe floats on grenadine", + "Serve without mixing" + ], + "categories": [ + "Ordinary Drink", + "Pousse cafe glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11963", + "alias": "port-wine-cocktail", + "name": "Port Wine Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qruprq1441553976.jpg", + "ingredients": [ + { + "text": "2 1/2 oz Port" + }, + { + "text": "1/2 tsp Brandy" + } + ], + "steps": [ + "Stir ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15092", + "alias": "pysch-vitamin-light", + "name": "Pysch Vitamin Light", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xsqsxw1441553580.jpg", + "ingredients": [ + { + "text": "1 part Orange juice" + }, + { + "text": "1 part Apple juice" + }, + { + "text": "1 part Pineapple juice" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Shake with ice" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13535", + "alias": "pink-panty-pulldowns", + "name": "Pink Panty Pulldowns", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/squsuy1468926657.jpg", + "ingredients": [ + { + "text": "1 L Sprite" + }, + { + "text": "2 cups Pink lemonade" + }, + { + "text": "2 cups Vodka" + } + ], + "steps": [ + "Shake well" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178323", + "alias": "passion-fruit-martini", + "name": "Passion Fruit Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6trfve1582473527.jpg", + "ingredients": [ + { + "text": "1 shot Vodka" + }, + { + "text": "1/2 shot Sugar Syrup" + }, + { + "text": "Full Glass Passion fruit juice" + } + ], + "steps": [ + "Pour all ingredients into a glass and stir", + "Garnish with half a passion fruit piece" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12718", + "alias": "pineapple-gingerale-smoothie", + "name": "Pineapple Gingerale Smoothie", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/eg9i1d1487603469.jpg", + "ingredients": [ + { + "text": "1/4 inch Ginger" + }, + { + "text": "1/2 Pineapple" + } + ], + "steps": [ + "Throw everything into a blender and liquify" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11993", + "alias": "quentin", + "name": "Quentin", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/spxtqp1478963398.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dark rum" + }, + { + "text": "1/2 oz Kahlua" + }, + { + "text": "1 oz Light cream" + }, + { + "text": "1/8 tsp grated Nutmeg" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the rum, Kahlua, and cream", + "Shake well", + "Strain into a cocktail glass and garnish with the nutmeg" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11987", + "alias": "queen-bee", + "name": "Queen Bee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rvvpxu1478963194.jpg", + "ingredients": [ + { + "text": "1 oz Coffee brandy" + }, + { + "text": "1 1/2 oz Lime vodka" + }, + { + "text": "1/2 oz cream Sherry" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13198", + "alias": "quick-fk", + "name": "Quick F**K", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wvtwpp1478963454.jpg", + "ingredients": [ + { + "text": "1 part Kahlua" + }, + { + "text": "1 part Midori melon liqueur" + }, + { + "text": "1 part Baileys irish cream" + } + ], + "steps": [ + "In a shot glass add 1/3 Kahlua first", + "Then 1/3 Miduri, topping it off with a 1/3 bailey's irish cream" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15761", + "alias": "quick-sand", + "name": "Quick-sand", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vprxqv1478963533.jpg", + "ingredients": [ + { + "text": "25 ml Black Sambuca" + }, + { + "text": "Add 250 ml Orange juice" + } + ], + "steps": [ + "Simply add the orange juice, quite a quick pour in order to mix the sambucca with the orange juice", + "The juice MUST have fruit pulp!" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11989", + "alias": "queen-charlotte", + "name": "Queen Charlotte", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vqruyt1478963249.jpg", + "ingredients": [ + { + "text": "2 oz Red wine" + }, + { + "text": "1 oz Grenadine" + }, + { + "text": "Lemon-lime soda" + } + ], + "steps": [ + "Pour red wine and grenadine into a collins glass over ice cubes", + "Fill with lemon-lime soda, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11991", + "alias": "queen-elizabeth", + "name": "Queen Elizabeth", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vpqspv1478963339.jpg", + "ingredients": [ + { + "text": "1/2 oz Dry Vermouth" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1 1/2 tsp Benedictine" + } + ], + "steps": [ + "Stir all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11983", + "alias": "quakers-cocktail", + "name": "Quaker's Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yrqppx1478962314.jpg", + "ingredients": [ + { + "text": "3/4 oz Light rum" + }, + { + "text": "3/4 oz Brandy" + }, + { + "text": "Juice of 1/4 Lemon" + }, + { + "text": "2 tsp Raspberry syrup" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "11985", + "alias": "quarter-deck-cocktail", + "name": "Quarter Deck Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qrwvps1478963017.jpg", + "ingredients": [ + { + "text": "1 1/2 Light rum" + }, + { + "text": "1/3 oz cream Sherry" + }, + { + "text": "Juice of 1/2 Lime" + } + ], + "steps": [ + "Stir all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17208", + "alias": "rose", + "name": "Rose", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/8kxbvq1504371462.jpg", + "ingredients": [ + { + "text": "1/2 oz Dry Vermouth" + }, + { + "text": "1 oz Gin" + }, + { + "text": "1/2 oz Apricot brandy" + }, + { + "text": "1/2 tsp Lemon juice" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "Powdered sugar" + } + ], + "steps": [ + "Shake together in a cocktail shaker, then strain into chilled glass", + "Garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "16031", + "alias": "radler", + "name": "Radler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xz8igv1504888995.jpg", + "ingredients": [ + { + "text": "12 oz Beer" + }, + { + "text": "12 oz 7-Up" + } + ], + "steps": [ + "Pour beer into large mug, slowly add the 7-up (or Sprite)" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12093", + "alias": "rum-sour", + "name": "Rum Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bylfi21504886323.jpg", + "ingredients": [ + { + "text": "2 oz Light rum" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1/2 tsp superfine Sugar" + }, + { + "text": "1 Orange" + }, + { + "text": "1 Maraschino cherry" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the rum, lemon juice, and sugar", + "Shake well", + "Strain into a sour glass and garnish with the orange slice and the cherry" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14978", + "alias": "rum-punch", + "name": "Rum Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wyrsxu1441554538.jpg", + "ingredients": [ + { + "text": "mikey bottle Rum" + }, + { + "text": "large bottle Ginger ale" + }, + { + "text": "355 ml frozen Fruit punch" + }, + { + "text": "355 ml frozen Orange juice" + }, + { + "text": "crushed Ice" + } + ], + "steps": [ + "Mix all ingredients in a punch bowl and serve" + ], + "categories": [ + "Punch / Party Drink", + "Punch bowl", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12097", + "alias": "rum-toddy", + "name": "Rum Toddy", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/athdk71504886286.jpg", + "ingredients": [ + { + "text": "2 oz light or dark Rum" + }, + { + "text": "2 tsp Powdered sugar" + }, + { + "text": "1 twist of Lemon peel" + }, + { + "text": "2 tsp Water" + } + ], + "steps": [ + "Dissolve powdered sugar in water in an old-fashioned glass", + "Add rum and one ice cube and stir", + "Add the twist of lemon peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12055", + "alias": "royal-fizz", + "name": "Royal Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wrh44j1504390609.jpg", + "ingredients": [ + { + "text": "1 oz Gin" + }, + { + "text": "2 oz Sweet and sour" + }, + { + "text": "1 whole Egg" + }, + { + "text": "Coca-Cola" + } + ], + "steps": [ + "Shake all ingredients (except cola) with ice and strain into a chilled collins glass", + "Fill with cola and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12071", + "alias": "rum-cooler", + "name": "Rum Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2hgwsb1504888674.jpg", + "ingredients": [ + { + "text": "2 oz light or dark Rum" + }, + { + "text": "4 oz Lemon-lime soda" + }, + { + "text": "1 Lemon" + } + ], + "steps": [ + "Pour the rum and soda into a collins glass almost filled with ice cubes", + "Stir well and garnish with the lemon wedge" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16250", + "alias": "rum-runner", + "name": "Rum Runner", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vqws6t1504888857.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Malibu rum" + }, + { + "text": "1 oz Blackberry brandy" + }, + { + "text": "3-4 oz Orange juice" + }, + { + "text": "3-4 oz Pineapple juice" + }, + { + "text": "3-4 oz Cranberry juice" + } + ], + "steps": [ + "Mix all ingredients in glass & add ice" + ], + "categories": [ + "Punch / Party Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12101", + "alias": "rusty-nail", + "name": "Rusty Nail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yqsvtw1478252982.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "1/2 oz Drambuie" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Pour the Scotch and Drambuie into an old-fashioned glass almost filled with ice cubes", + "Stir well", + "Garnish with the lemon twist" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "14087", + "alias": "red-snapper", + "name": "Red Snapper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7p607y1504735343.jpg", + "ingredients": [ + { + "text": "1 shot Crown Royal" + }, + { + "text": "1 shot Amaretto" + }, + { + "text": "1 shot Cranberry juice" + } + ], + "steps": [ + "One shot each, shake n shoot" + ], + "categories": [ + "Shot", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17122", + "alias": "royal-bitch", + "name": "Royal Bitch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qupuyr1441210090.jpg", + "ingredients": [ + { + "text": "1 part Frangelico" + }, + { + "text": "1 part Crown Royal" + } + ], + "steps": [ + "Into a shot glass layer the Crown Royal on top of the Frangelico" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15082", + "alias": "royal-flush", + "name": "Royal Flush", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7rnm8u1504888527.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Crown Royal" + }, + { + "text": "1 oz Peach schnapps" + }, + { + "text": "1/2 oz Chambord raspberry liqueur" + }, + { + "text": "1 oz Cranberry juice" + } + ], + "steps": [ + "Pour all the ingredients into tumbler over ice", + "Strain into glass" + ], + "categories": [ + "Shot", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12067", + "alias": "rum-cobbler", + "name": "Rum Cobbler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/5vh9ld1504390683.jpg", + "ingredients": [ + { + "text": "1 tsp superfine Sugar" + }, + { + "text": "3 oz Club soda" + }, + { + "text": "1 Lemon" + }, + { + "text": "2 oz Dark rum" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 Orange" + } + ], + "steps": [ + "In an old-fashioned glass, dissolve the sugar in the club soda", + "Add crushed ice until the glass is almost full", + "Add the rum", + "Stir well", + "Garnish with the cherry and the orange and lemon slices" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17114", + "alias": "ruby-tuesday", + "name": "Ruby Tuesday", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qsyqqq1441553437.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "5 oz Cranberry juice" + }, + { + "text": "2 splashes Grenadine" + } + ], + "steps": [ + "Pour gin and cranberry into a highball filled with ice cubes", + "Add grenadine and stir" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12630", + "alias": "rail-splitter", + "name": "Rail Splitter", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/stsuqq1441207660.jpg", + "ingredients": [ + { + "text": "2 tsp Sugar syrup" + }, + { + "text": "Lemon juice" + }, + { + "text": "Ginger ale" + } + ], + "steps": [ + "Mix sugar syrup with lemon juice in a tall glass", + "Fill up with ginger ale" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17245", + "alias": "rosemary-blue", + "name": "Rosemary Blue", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qwc5f91512406543.jpg", + "ingredients": [ + { + "text": "50 ml Gin" + }, + { + "text": "15 ml Blue Curacao" + }, + { + "text": "100 ml Tonic Water" + }, + { + "text": "Garnish with Rosemary" + } + ], + "steps": [ + "1) Add the Bombay Sapphire, Blue Curacao, rosemary sprig and gently squeezed lemon wedge to a balloon glass", + "Swirl well to combine", + "2) Fill with cubed ice and top with the Fever-Tree Light Tonic Water", + "3) Gently fold with a bar spoon to mix" + ], + "categories": [ + "Cocktail", + "Balloon Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178367", + "alias": "ramos-gin-fizz", + "name": "Ramos Gin Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/967t911643844053.jpg", + "ingredients": [ + { + "text": "4.5 cL Gin" + }, + { + "text": "3 cl Lemon Juice" + }, + { + "text": "3 cl Sugar Syrup" + }, + { + "text": "6 cl Cream" + }, + { + "text": "1 Egg White" + }, + { + "text": "2 drop Vanilla extract" + }, + { + "text": "2 cl Soda Water" + } + ], + "steps": [ + "Prepare all the ingredients on the counter to be able to work well and quickly, especially the cream and egg white", + "Pour all the ingredients into a shaker", + "Shake vigorously for 1 minute: cream and egg white must be mixed perfectly, so don't rush", + "Now open the shaker and put some ice and shake for 1-2 minutes", + "It depends on how long you can resist!", + "Pour into a highball glass, add a splash of soda and garnish to taste", + "Ramos Gin Fizz was once drunk as an invigorating drink or even as a breakfast, try it as an aperitif and after dinner and you will discover a little gem now lost" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12057", + "alias": "royal-gin-fizz", + "name": "Royal Gin Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/pe1x1c1504735672.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 whole Egg" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Shake all ingredients (except carbonated water) with ice and strain into a highball glass over two ice cubes", + "Fill with carbonated water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12087", + "alias": "rum-milk-punch", + "name": "Rum Milk Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/w64lqm1504888810.jpg", + "ingredients": [ + { + "text": "2 oz Light rum" + }, + { + "text": "1 cup Milk" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Shake all ingredients (except nutmeg) with ice and strain into a collins glass", + "Sprinkle nutmeg on top and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178333", + "alias": "raspberry-julep", + "name": "Raspberry Julep", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hyztmx1598719265.jpg", + "ingredients": [ + { + "text": "2 oz Bourbon" + }, + { + "text": "1/2 oz Raspberry syrup" + }, + { + "text": "8 Mint" + } + ], + "steps": [ + "Softly muddle the mint leaves and raspberry syrup in the bottom of the cup", + "Add crushed ice and Bourbon to the cup and then stir", + "Top with more ice, garnish with a mint sprig" + ], + "categories": [ + "Cocktail", + "Cordial glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12091", + "alias": "rum-screwdriver", + "name": "Rum Screwdriver", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/4c85zq1511782093.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "5 oz Orange juice" + } + ], + "steps": [ + "Pour rum into a highball glass over ice cubes", + "Add orange juice, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17167", + "alias": "raspberry-cooler", + "name": "Raspberry Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/suqyyx1441254346.jpg", + "ingredients": [ + { + "text": "2 oz Raspberry vodka" + }, + { + "text": "4 oz Lemon-lime soda" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Pour the raspberry vodka and soda into a highball glass almost filled with ice cubes", + "Stir well" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12089", + "alias": "rum-old-fashioned", + "name": "Rum Old-fashioned", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/otn2011504820649.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Light rum" + }, + { + "text": "1 tsp 151 proof rum" + }, + { + "text": "1/2 tsp Powdered sugar" + }, + { + "text": "1 dash Bitters" + }, + { + "text": "1 tsp Water" + }, + { + "text": "Twist of Lime peel" + } + ], + "steps": [ + "Stir powdered sugar, water, and bitters in an old-fashioned glass", + "When sugar has dissolved add ice cubes and light rum", + "Add the twist of lime peel, float 151 proof rum on top, and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17214", + "alias": "russian-spring-punch", + "name": "Russian Spring Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ctt20s1504373488.jpg", + "ingredients": [ + { + "text": "2.5 cl Vodka" + }, + { + "text": "1.5 cl Creme de Cassis" + }, + { + "text": "1 cl Sugar Syrup" + }, + { + "text": "2.5 cl Lemon Juice" + } + ], + "steps": [ + "Pour the ingredients into an highball glass, top with Sparkling wine" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "16984", + "alias": "radioactive-long-island-iced-tea", + "name": "Radioactive Long Island Iced Tea", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rdvqmh1503563512.jpg", + "ingredients": [ + { + "text": "1 oz Rum" + }, + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Tequila" + }, + { + "text": "1 oz Gin" + }, + { + "text": "1 oz Triple sec" + }, + { + "text": "1 oz Chambord raspberry liqueur" + }, + { + "text": "1 oz Midori melon liqueur" + }, + { + "text": "1 oz Malibu rum" + } + ], + "steps": [ + "Pour all ingredients over ice in a very tall glass", + "Sip cautiously" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17141", + "alias": "smut", + "name": "Smut", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rx8k8e1504365812.jpg", + "ingredients": [ + { + "text": "1/3 part Red wine" + }, + { + "text": "1 shot Peach schnapps" + }, + { + "text": "1/3 part Pepsi Cola" + }, + { + "text": "1/3 part Orange juice" + } + ], + "steps": [ + "Throw it all together and serve real cold" + ], + "categories": [ + "Punch / Party Drink", + "Beer mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17215", + "alias": "spritz", + "name": "Spritz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/j9evx11504373665.jpg", + "ingredients": [ + { + "text": "6 cl Prosecco" + }, + { + "text": "4 cl Campari" + }, + { + "text": "splash Soda Water" + } + ], + "steps": [ + "Build into glass over ice, garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-Fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": "New Era Drinks" + }, + { + "id": "12130", + "alias": "scooter", + "name": "Scooter", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/twuptu1483388307.jpg", + "ingredients": [ + { + "text": "1 oz Brandy" + }, + { + "text": "1 oz Amaretto" + }, + { + "text": "1 oz Light cream" + } + ], + "steps": [ + "Shake all ingredients well with cracked ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13020", + "alias": "sangria", + "name": "Sangria", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xrvxpp1441249280.jpg", + "ingredients": [ + { + "text": "1 bottle Red wine" + }, + { + "text": "1/2 cup Sugar" + }, + { + "text": "1 cup Orange juice" + }, + { + "text": "1 cup Lemon juice" + }, + { + "text": "Cloves" + }, + { + "text": "Cinnamon" + } + ], + "steps": [ + "Mix all together in a pitcher and refrigerate", + "Add cloves and cinnamon sticks to taste", + "Serve in wine glasses" + ], + "categories": [ + "Punch / Party Drink", + "Pitcher", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17193", + "alias": "stinger", + "name": "Stinger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2ahv791504352433.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Brandy" + }, + { + "text": "1/2 oz White Creme de Menthe" + } + ], + "steps": [ + "Pour in a mixing glass with ice, stir and strain into a cocktail glass", + "May also be served on rocks in a rocks glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "12127", + "alias": "sazerac", + "name": "Sazerac", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vvpxwy1439907208.jpg", + "ingredients": [ + { + "text": "1 tsp Ricard" + }, + { + "text": "1/2 tsp superfine Sugar" + }, + { + "text": "2 dashes Peychaud bitters" + }, + { + "text": "1 tsp Water" + }, + { + "text": "2 oz Bourbon" + }, + { + "text": "1 twist of Lemon peel" + } + ], + "steps": [ + "Rinse a chilled old-fashioned glass with the absinthe, add crushed ice, and set it aside", + "Stir the remaining ingredients over ice and set it aside", + "Discard the ice and any excess absinthe from the prepared glass, and strain the drink into the glass", + "Add the lemon peel for garnish" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "12196", + "alias": "sidecar", + "name": "Sidecar", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/x72sik1606854964.jpg", + "ingredients": [ + { + "text": "2 oz Cognac" + }, + { + "text": "1/2 oz Cointreau" + }, + { + "text": "1 oz Lemon juice" + } + ], + "steps": [ + "Pour all ingredients into cocktail shaker filled with ice", + "Shake well and strain into cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "178349", + "alias": "snowday", + "name": "Snowday", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/4n1ipk1614009624.jpg", + "ingredients": [ + { + "text": "1 oz Vodka" + }, + { + "text": "1 oz Amaro Montenegro" + }, + { + "text": "1 oz Ruby Port" + }, + { + "text": "1 tsp Blood Orange" + }, + { + "text": "Dash Angostura Bitters" + }, + { + "text": "Garnish with Orange Peel" + } + ], + "steps": [ + "Stir all ingredients with ice", + "Strain into a chilled rocks glass over fresh ice", + "Express orange peel over drink and garnish" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "Winter" + ], + "ibaCategory": null + }, + { + "id": "178322", + "alias": "spice-75", + "name": "Spice 75", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0108c41576797064.jpg", + "ingredients": [ + { + "text": "60 ml Sugar" + }, + { + "text": "1 tblsp Allspice" + }, + { + "text": "20 cl Rum" + }, + { + "text": "90 ml Lime Juice" + }, + { + "text": "6 cl Champagne" + }, + { + "text": "Garnish with Orange spiral" + } + ], + "steps": [ + "Gently warm 60g golden caster sugar in a pan with 30ml water and 1 tbsp allspice", + "Cook gently until the sugar has dissolved, then leave the mixture to cool", + "Strain through a sieve lined with a coffee filter (or a double layer of kitchen paper)", + "Pour 60ml of the spiced syrup into a cocktail shaker along with 200ml rum and 90ml lime juice", + "Shake with ice and strain between six flute glasses", + "Top up with 600ml champagne and garnish each with an orange twist" + ], + "categories": [ + "Cocktail", + "Wine Glass", + "Alcoholic" + ], + "tags": [ + "Christmas" + ], + "ibaCategory": null + }, + { + "id": "14195", + "alias": "snowball", + "name": "Snowball", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7ibfs61504735416.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Advocaat" + }, + { + "text": "8-10 oz cold Lemonade" + }, + { + "text": "1 slice Lemon" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Place one ice cube in the glass and add 1 1/2 oz of Advocaat", + "Fill up the glass with lemonade and decorate with a slice of lemon", + "Serve at once" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Christmas" + ], + "ibaCategory": null + }, + { + "id": "16985", + "alias": "shot-gun", + "name": "Shot-gun", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2j1m881503563583.jpg", + "ingredients": [ + { + "text": "1 part Jim Beam" + }, + { + "text": "1 part Jack Daniels" + }, + { + "text": "1 oz Wild Turkey" + } + ], + "steps": [ + "Pour one part Jack Daneils and one part Jim Beam into shot glass then float Wild Turkey on top" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12107", + "alias": "salty-dog", + "name": "Salty Dog", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/4vfge01504890216.jpg", + "ingredients": [ + { + "text": "5 oz Grapefruit juice" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/4 tsp Salt" + } + ], + "steps": [ + "Pour all ingredients over ice cubes in a highball glass", + "Stir well and serve", + "(Vodka may be substituted for gin, if preferred.)" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12308", + "alias": "stone-sour", + "name": "Stone Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vruvtp1472719895.jpg", + "ingredients": [ + { + "text": "1 oz Apricot brandy" + }, + { + "text": "1 oz Orange juice" + }, + { + "text": "1 oz Sweet and sour" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a chilled whiskey sour glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13377", + "alias": "sea-breeze", + "name": "Sea breeze", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7rfuks1504371562.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "4 oz Cranberry juice" + }, + { + "text": "1 oz Grapefruit juice" + } + ], + "steps": [ + "Build all ingredients in a highball glass filled with ice", + "Garnish with lime wedge" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "12158", + "alias": "scotch-sour", + "name": "Scotch Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0dnb6k1504890436.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "Juice of 1/2 Lime" + }, + { + "text": "1/2 tsp Powdered sugar" + }, + { + "text": "1/2 slice Lemon" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Shake scotch, juice of lime, and powdered sugar with ice and strain into a whiskey sour glass", + "Decorate with 1/2 slice lemon, top with the cherry, and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16990", + "alias": "sweet-tooth", + "name": "Sweet Tooth", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/j6rq6h1503563821.jpg", + "ingredients": [ + { + "text": "2 shots Godiva liqueur" + }, + { + "text": "Milk" + } + ], + "steps": [ + "Put 2 shots Godiva Liquour into a glass, add as much or as little milk as you would like" + ], + "categories": [ + "Shake", + "Highball Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12162", + "alias": "screwdriver", + "name": "Screwdriver", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/8xnyke1504352207.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "Orange juice" + } + ], + "steps": [ + "Mix in a highball glass with ice", + "Garnish and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "12190", + "alias": "sherry-flip", + "name": "Sherry Flip", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qrryvq1478820428.jpg", + "ingredients": [ + { + "text": "1 1/2 oz cream Sherry" + }, + { + "text": "2 tsp Light cream" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 whole Egg" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Shake all ingredients (except nutmeg) with ice and strain into a whiskey sour glass", + "Sprinkle nutmeg on top and serve" + ], + "categories": [ + "Ordinary Drink", + "Nick and Nora Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12256", + "alias": "sol-y-sombra", + "name": "Sol Y Sombra", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/3gz2vw1503425983.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Brandy" + }, + { + "text": "1 1/2 oz Anisette" + } + ], + "steps": [ + "Shake ingredients with ice, strain into a brandy snifter, and serve", + "(The English translation of the name of this drink is \"Sun and Shade\", and after sampling this drink, you'll understand why", + "Thanks, Kirby.)" + ], + "categories": [ + "Ordinary Drink", + "Brandy snifter", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16273", + "alias": "shark-attack", + "name": "Shark Attack", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uv96zr1504793256.jpg", + "ingredients": [ + { + "text": "1 can Lemonade" + }, + { + "text": "3 cans Water" + }, + { + "text": "1 1/2 cup Vodka" + } + ], + "steps": [ + "Mix lemonade and water according to instructions on back of can", + "If the instructions say to add 4 1/3 cans of water do so", + "Mix into pitcher", + "Add 1 1/2 cup of Vodka (Absolut)", + "Mix well", + "Pour into glass of crushed ice", + "Excellent!" + ], + "categories": [ + "Cocktail", + "Pitcher", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15184", + "alias": "san-francisco", + "name": "San Francisco", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/szmj2d1504889961.jpg", + "ingredients": [ + { + "text": "2 cl Vodka" + }, + { + "text": "2 cl Creme de Banane" + }, + { + "text": "Grenadine" + }, + { + "text": "Orange juice" + } + ], + "steps": [ + "Take a tall glass and put in a few ice cubes, fill the vodka over it and fill with juice then the \"creme\", to end fill in the grenadine but very carefully at the side of the glass so it will lay down in the bottom", + "garnish with orange and strawberry" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15226", + "alias": "space-odyssey", + "name": "Space Odyssey", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vxtjbx1504817842.jpg", + "ingredients": [ + { + "text": "1 shot Bacardi 151 proof rum" + }, + { + "text": "1 shot Malibu rum" + }, + { + "text": "1 shot Pineapple juice" + }, + { + "text": "Orange juice" + }, + { + "text": "Grenadine" + }, + { + "text": "Cherries" + } + ], + "steps": [ + "Fill glass with ice and add shots of Bacardi and Malibu", + "Add splash of pineapple juice and top with orange juice", + "Add grenadine for color and garnish with cherries" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12188", + "alias": "sherry-eggnog", + "name": "Sherry Eggnog", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xwrpsv1478820541.jpg", + "ingredients": [ + { + "text": "2 oz cream Sherry" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 whole Egg" + }, + { + "text": "Milk" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Shake sherry, powdered sugar, and egg with ice and strain into a collins glass", + "Fill with milk and stir", + "Sprinkle nutmeg on top and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12724", + "alias": "sweet-bananas", + "name": "Sweet Bananas", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sxpcj71487603345.jpg", + "ingredients": [ + { + "text": "2 cups Milk" + }, + { + "text": "1 Banana" + }, + { + "text": "1 tblsp Honey" + } + ], + "steps": [ + "Place all ingredients in the blender jar - cover and whiz on medium speed until well blended", + "Pour in one tall, 2 medium or 3 small glasses and drink up" + ], + "categories": [ + "Shake", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13024", + "alias": "sweet-sangria", + "name": "Sweet Sangria", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/uqqvsp1468924228.jpg", + "ingredients": [ + { + "text": "2 bottles Red wine" + }, + { + "text": "1 cup Sugar" + }, + { + "text": "2 cups hot Water" + }, + { + "text": "1 cup Apple" + }, + { + "text": "wedges Orange" + }, + { + "text": "wedges Lime" + }, + { + "text": "Lemon" + }, + { + "text": "Fresca" + } + ], + "steps": [ + "Dissolve the sugar in hot water and cool", + "Peel the citrus fruits and break into wedges", + "Mix the wine, sugar syrup, fruit, and Fresca in a pitcher and put in the fridge for a few hours", + "Serve in tall glasses with a straw" + ], + "categories": [ + "Punch / Party Drink", + "Pitcher", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12388", + "alias": "thriller", + "name": "Thriller", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rvuswq1461867714.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "1 oz Green Ginger Wine" + }, + { + "text": "1 oz Orange juice" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine all of the ingredients", + "Shake well", + "Strain into a cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178350", + "alias": "the-galah", + "name": "The Galah", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sy7y6r1614775067.jpg", + "ingredients": [ + { + "text": "1 shot Dark Rum" + }, + { + "text": "1 shot Campari" + }, + { + "text": "1/2 shot Creme De Banane" + }, + { + "text": "Top Pineapple Juice" + }, + { + "text": "Top Lime Juice" + } + ], + "steps": [ + "Mix together the alcoholic portions and top with Pineapple and Lime juice" + ], + "categories": [ + "Cocktail", + "Collins glass", + "Alcoholic" + ], + "tags": [ + "Dark" + ], + "ibaCategory": null + }, + { + "id": "12856", + "alias": "tia-maria", + "name": "Tia-Maria", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sih81u1504367097.jpg", + "ingredients": [ + { + "text": "1 cup Water" + }, + { + "text": "3/4-1 cup Brown sugar" + }, + { + "text": "4 tsp Coffee" + }, + { + "text": "1 cup Rum" + }, + { + "text": "4 tsp Vanilla extract" + } + ], + "steps": [ + "Boil water, sugar and coffe for 10 mins and let cool", + "Add rum and vanilla", + "Put in clean bottle(s) and leave for 1 week before using" + ], + "categories": [ + "Homemade Liqueur", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17828", + "alias": "tipperary", + "name": "Tipperary", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/b522ek1521761610.jpg", + "ingredients": [ + { + "text": "2 oz Irish Whiskey" + }, + { + "text": "1 oz Sweet Vermouth" + }, + { + "text": "1/2 oz Green Chartreuse" + } + ], + "steps": [ + "Stir over ice", + "Strain into chilled glass", + "Cut a wide swath of orange peel, and express the orange oils over the drink", + "Discard orange twist" + ], + "categories": [ + "Cocktail", + "Nick and Nora Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15006", + "alias": "turkeyball", + "name": "Turkeyball", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rxurpr1441554292.jpg", + "ingredients": [ + { + "text": "1 oz Wild Turkey" + }, + { + "text": "3/4 oz Amaretto" + }, + { + "text": "1 splash Pineapple juice" + } + ], + "steps": [ + "Shake with ice and strain into a shot glass" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15639", + "alias": "texas-sling", + "name": "Texas Sling", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ypl13s1504890158.jpg", + "ingredients": [ + { + "text": "1/2 oz Kahlua" + }, + { + "text": "1/2 oz Irish cream" + }, + { + "text": "1/2 oz Amaretto" + }, + { + "text": "1/2 oz Bacardi 151 proof rum" + }, + { + "text": "1 oz Cream" + } + ], + "steps": [ + "Blend with Ice until smooth", + "Serve in a tulip glass, top with whip cream" + ], + "categories": [ + "Shake", + "Wine Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12782", + "alias": "thai-coffee", + "name": "Thai Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wquwxs1441247025.jpg", + "ingredients": [ + { + "text": "6 tblsp ground Coffee" + }, + { + "text": "1/4 tsp Coriander" + }, + { + "text": "4-5 whole green Cardamom" + }, + { + "text": "Sugar" + }, + { + "text": "Whipping cream" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Place the coffee and spices in the filter cone of your coffee maker", + "Brew coffee as usual, let it cool", + "In a tall glass, dissolve 1 or 2 teaspoons of sugar in an ounce of the coffee (it's easier to dissolve than if you put it right over ice)", + "Add 5-6 ice cubes and pour coffee to within about 1 inch of the top of the glass", + "Rest a spoon on top of the coffee and slowly pour whipping cream into the spoon", + "This will make the cream float on top of the coffee rather than dispersing into it right away" + ], + "categories": [ + "Coffee / Tea", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12402", + "alias": "tom-collins", + "name": "Tom Collins", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/7cll921606854636.jpg", + "ingredients": [ + { + "text": "2 oz Gin" + }, + { + "text": "1 oz Lemon juice" + }, + { + "text": "1 tsp superfine Sugar" + }, + { + "text": "3 oz Club soda" + }, + { + "text": "1 Maraschino cherry" + }, + { + "text": "1 Orange" + } + ], + "steps": [ + "In a shaker half-filled with ice cubes, combine the gin, lemon juice, and sugar", + "Shake well", + "Strain into a collins glass alomst filled with ice cubes", + "Add the club soda", + "Stir and garnish with the cherry and the orange slice" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12726", + "alias": "tomato-tang", + "name": "Tomato Tang", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/869qr81487603278.jpg", + "ingredients": [ + { + "text": "2 cups Tomato juice" + }, + { + "text": "1-2 tblsp Lemon juice" + }, + { + "text": "1 dash Celery salt" + } + ], + "steps": [ + "Place all ingredients in the blender jar - cover and whiz on medium speed until well blended", + "Pour in one tall, 2 medium or 3 small glasses and drink up" + ], + "categories": [ + "Other / Unknown", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14860", + "alias": "talos-coffee", + "name": "Talos Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rswqpy1441246518.jpg", + "ingredients": [ + { + "text": "3 parts Grand Marnier" + }, + { + "text": "1 part Coffee" + } + ], + "steps": [ + "Add your GM and then add your coffee" + ], + "categories": [ + "Coffee / Tea", + "Brandy snifter", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15515", + "alias": "tennesee-mud", + "name": "Tennesee Mud", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/txruqv1441245770.jpg", + "ingredients": [ + { + "text": "8 oz Coffee" + }, + { + "text": "4 oz Jack Daniels" + }, + { + "text": "4 oz Amaretto" + }, + { + "text": "Whipped cream" + } + ], + "steps": [ + "Mix Coffee, Jack Daniels and Amaretto", + "Add Cream on top" + ], + "categories": [ + "Coffee / Tea", + "Coffee Mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12362", + "alias": "tequila-fizz", + "name": "Tequila Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2bcase1504889637.jpg", + "ingredients": [ + { + "text": "2 oz Tequila" + }, + { + "text": "1 tblsp Lemon juice" + }, + { + "text": "3/4 oz Grenadine" + }, + { + "text": "1 Egg white" + }, + { + "text": "Ginger ale" + } + ], + "steps": [ + "Shake all ingredients (except ginger ale) with ice and strain into a collins glass over ice cubes", + "Fill with ginger ale, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12370", + "alias": "tequila-sour", + "name": "Tequila Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ek0mlq1504820601.jpg", + "ingredients": [ + { + "text": "2 oz Tequila" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1/2 slice Lemon" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Shake tequila, juice of lemon, and powdered sugar with ice and strain into a whiskey sour glass", + "Add the half-slice of lemon, top with the cherry, and serve" + ], + "categories": [ + "Ordinary Drink", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12786", + "alias": "thai-iced-tea", + "name": "Thai Iced Tea", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/trvwpu1441245568.jpg", + "ingredients": [ + { + "text": "1/4 cup Thai Tea" + }, + { + "text": "1/2 cup boiling Water" + }, + { + "text": "2 tsp sweetened Condensed milk" + }, + { + "text": "cubes Ice" + }, + { + "text": "garnish Mint" + } + ], + "steps": [ + "Combine Thai tea (i.e., the powder), boiling water, and sweetened condensed milk, stir until blended", + "Pour into 2 tall glasses filled with ice cubes", + "Garnish with mint leaves", + "Makes 2 servings" + ], + "categories": [ + "Coffee / Tea", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17247", + "alias": "the-last-word", + "name": "The Last Word", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/91oule1513702624.jpg", + "ingredients": [ + { + "text": "1 oz Green Chartreuse" + }, + { + "text": "1 oz Maraschino Liqueur" + }, + { + "text": "1 oz Lime Juice" + }, + { + "text": "1 oz Gin" + } + ], + "steps": [ + "Shake with ice and strain into a cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12418", + "alias": "turf-cocktail", + "name": "Turf Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/utypqq1441554367.jpg", + "ingredients": [ + { + "text": "1 oz Dry Vermouth" + }, + { + "text": "1 oz Gin" + }, + { + "text": "1/4 tsp Anis" + }, + { + "text": "2 dashes Bitters" + }, + { + "text": "Twist of Orange peel" + } + ], + "steps": [ + "Stir all ingredients (except orange peel) with ice and strain into a cocktail glass", + "Add the twist of orange peel and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17824", + "alias": "the-laverstoke", + "name": "The Laverstoke", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/6xfj5t1517748412.jpg", + "ingredients": [ + { + "text": "50 ml Gin" + }, + { + "text": "15 ml Elderflower cordial" + }, + { + "text": "15 ml Rosso Vermouth" + }, + { + "text": "75 ml Tonic Water" + }, + { + "text": "2 Wedges Lime" + }, + { + "text": "1 Slice Ginger" + }, + { + "text": "1 Large Sprig Mint" + } + ], + "steps": [ + "1) Squeeze two lime wedges into a balloon glass then add the cordial, Bombay Sapphire and MARTINI Rosso Vermouth, swirl to mix", + "2) Fully fill the glass with cubed ice and stir to chill", + "3) Top with Fever-Tree Ginger Ale and gently stir again to combine", + "4) Garnish with a snapped ginger slice and an awoken mint sprig" + ], + "categories": [ + "Cocktail", + "Balloon Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178307", + "alias": "tequila-slammer", + "name": "Tequila Slammer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/43uhr51551451311.jpg", + "ingredients": [ + { + "text": "1 shot Tequila" + }, + { + "text": "1 part 7-up" + } + ], + "steps": [ + "Mix carefully to avoid releasing the dissolved CO2" + ], + "categories": [ + "Shot", + "Hurricane glass", + "Alcoholic" + ], + "tags": [ + "Drunk" + ], + "ibaCategory": null + }, + { + "id": "13621", + "alias": "tequila-sunrise", + "name": "Tequila Sunrise", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/quqyqp1480879103.jpg", + "ingredients": [ + { + "text": "2 measures Tequila" + }, + { + "text": "Orange juice" + }, + { + "text": "Grenadine" + } + ], + "steps": [ + "Pour the tequila and orange juice into glass over ice", + "Add the grenadine, which will sink to the bottom", + "Stir gently to create the sunrise effect", + "Garnish and serve" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "ContemporaryClassic" + ], + "ibaCategory": "Contemporary Classics" + }, + { + "id": "178330", + "alias": "the-philosopher", + "name": "The Philosopher", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/sp8hkp1596017787.jpg", + "ingredients": [ + { + "text": "1 shot Gin" + }, + { + "text": "1 shot Melon Liqueur" + }, + { + "text": "1 dash Orange Bitters" + }, + { + "text": "1 dash Lemon Juice" + }, + { + "text": "Top Prosecco" + } + ], + "steps": [ + "Add all the spirits in a shaker (best to use Hendricks gin) as well as the orange bitters and lemon juice", + "Strain into a Margarita glass, top with Prosecco" + ], + "categories": [ + "Cocktail", + "Margarita glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12420", + "alias": "tuxedo-cocktail", + "name": "Tuxedo Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/4u0nbl1504352551.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dry Vermouth" + }, + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/4 tsp Maraschino liqueur" + }, + { + "text": "1/4 tsp Anis" + }, + { + "text": "2 dashes Orange bitters" + }, + { + "text": "1 Cherry" + } + ], + "steps": [ + "Stir all ingredients with ice and strain into a cocktail glass", + "Garnish with a cherry and a twist of lemon zest" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "14602", + "alias": "tequila-surprise", + "name": "Tequila Surprise", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/8189p51504735581.jpg", + "ingredients": [ + { + "text": "full glass Tequila" + }, + { + "text": "About 8 drops Tabasco sauce" + } + ], + "steps": [ + "Fill shot glass with Tequila", + "Add drops of Tobasco sauce" + ], + "categories": [ + "Shot", + "Shot glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12784", + "alias": "thai-iced-coffee", + "name": "Thai Iced Coffee", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rqpypv1441245650.jpg", + "ingredients": [ + { + "text": "black Coffee" + }, + { + "text": "Sugar" + }, + { + "text": "pods Cream" + }, + { + "text": "Cardamom" + } + ], + "steps": [ + "Prepare a pot of coffee at a good European strength", + "In the ground coffee, add 2 or 3 freshly ground cardamom pods", + "Sweeten while hot, then cool quickly", + "Serve in highball glass over ice, with cream", + "To get the layered effect, place a spoon atop the coffee and pour the milk carefully into the spoon so that it floats on the top of the coffee" + ], + "categories": [ + "Coffee / Tea", + "Highball glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17826", + "alias": "the-jimmy-conway", + "name": "The Jimmy Conway", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wbcvyo1535794478.jpg", + "ingredients": [ + { + "text": "50 ml Irish Whiskey" + }, + { + "text": "50 ml Amaretto" + }, + { + "text": "4 oz Cranberry Juice" + } + ], + "steps": [ + "Fill glass with ice\nPour in The Irishman and Disaronno\nFill to the top with Cranberry Juice\nGarnish with a slice of lemon…Enjoy!" + ], + "categories": [ + "Cocktail", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15178", + "alias": "texas-rattlesnake", + "name": "Texas Rattlesnake", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rtohqp1504889750.jpg", + "ingredients": [ + { + "text": "1 part Yukon Jack" + }, + { + "text": "1/2 part Cherry brandy" + }, + { + "text": "1 part Southern Comfort" + }, + { + "text": "1 splash Sweet and sour" + } + ], + "steps": [ + "Mix all ingredients and Shake well", + "Sweet at first, with a BITE at the end" + ], + "categories": [ + "Shot", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17218", + "alias": "vesper", + "name": "Vesper", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mtdxpa1504374514.jpg", + "ingredients": [ + { + "text": "6 cl Gin" + }, + { + "text": "1.5 cl Vodka" + }, + { + "text": "0.75 cl Lillet Blanc" + } + ], + "steps": [ + "Shake over ice until well chilled, then strain into a deep goblet and garnish with a thin slice of lemon peel" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "12450", + "alias": "victor", + "name": "Victor", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/voapgc1492976416.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Gin" + }, + { + "text": "1/2 oz Sweet Vermouth" + }, + { + "text": "1/2 oz Brandy" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17217", + "alias": "vampiro", + "name": "Vampiro", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yfhn371504374246.jpg", + "ingredients": [ + { + "text": "6 cl Tequila" + }, + { + "text": "3 cl Tomato Juice" + }, + { + "text": "3 cl Orange Juice" + }, + { + "text": "1.5 cl Lime Juice" + }, + { + "text": "1 dash Sugar Syrup" + }, + { + "text": "1 pinch Salt" + } + ], + "steps": [ + "Vampiros may be made in a tall glass or an old fashioned glass", + "Bartenders may first \"rim\" the glass with Kosher Salt, which is done by placing a layer of Kosher Salt on a chopping board, moistening the glass' rim with lime juice or water, and then placing the upside down glass rim onto the Kosher Salt, so that the salt sticks to the moistened rim", + "The second step is to fill half the glass with ice and add one or two shooter glasses full of high quality Tequila", + "The next stage is to add the flavouring elements", + "This is done by squeezing a fresh lime into the glass, adding a few grains of salt, adding citrus-flavoured soda pop, until the glass is 4/5 full, and then adding spicy Viuda de Sanchez (or orange juice, lime juice and pico de gallo)", + "The final step is to stir the ingredients so that the flavours are properly blended" + ], + "categories": [ + "Ordinary Drink", + "Old-Fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "12444", + "alias": "vesuvio", + "name": "Vesuvio", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/26cq601492976203.jpg", + "ingredients": [ + { + "text": "1 oz Light rum" + }, + { + "text": "1/2 oz Sweet Vermouth" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 Egg white" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into an old-fashioned glass over ice cubes, and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12446", + "alias": "veteran", + "name": "Veteran", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/iwml9t1492976255.jpg", + "ingredients": [ + { + "text": "2 oz Dark rum" + }, + { + "text": "1/2 oz Cherry brandy" + } + ], + "steps": [ + "Pour the rum and cherry brandy into an old-fashioned glass almost filled with ice cubes", + "Stir well" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12436", + "alias": "van-vleet", + "name": "Van Vleet", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/fgq2bl1492975771.jpg", + "ingredients": [ + { + "text": "3 oz Light rum" + }, + { + "text": "1 oz Maple syrup" + }, + { + "text": "1 oz Lemon juice" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into an old-fashioned glass over ice cubes, and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16967", + "alias": "vodka-fizz", + "name": "Vodka Fizz", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xwxyux1441254243.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "2 oz Half-and-half" + }, + { + "text": "2 oz Limeade" + }, + { + "text": "Ice" + }, + { + "text": "Nutmeg" + } + ], + "steps": [ + "Blend all ingredients, save nutmeg", + "Pour into large white wine glass and sprinkle nutmeg on top" + ], + "categories": [ + "Other / Unknown", + "White wine glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178363", + "alias": "vodka-lemon", + "name": "Vodka Lemon", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/mql55h1643820632.jpg", + "ingredients": [ + { + "text": "5 cl Vodka" + }, + { + "text": "7 cl Lemon Juice" + }, + { + "text": "1 Slice Lemon Peel" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "The vodka lemon is prepared directly in a highball glass or in a large tumbler: put 6-7 ice cubes in the glass, pour the vodka, lemonade and mix with a bar spoon", + "Finally decorate with a slice of lemon and, if you prefer, add a few mint leaves", + "Your vodka lemon is ready to be served" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178362", + "alias": "vodka-slime", + "name": "Vodka Slime", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/apex461643588115.jpg", + "ingredients": [ + { + "text": "1 cup Sprite" + }, + { + "text": "1/2 shot Lime Juice" + }, + { + "text": "1 1/2 shot Vodka" + } + ], + "steps": [ + "Fill glass with ice", + "Add vodka, 7-up then finish with the lime juice" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178364", + "alias": "vodka-tonic", + "name": "Vodka Tonic", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/9koz3f1643821062.jpg", + "ingredients": [ + { + "text": "4 cl Vodka" + }, + { + "text": "10 cl Tonic Water" + }, + { + "text": "1 Slice Lemon Peel" + } + ], + "steps": [ + "Wash and cut 1 wedge and 1 slice of lime or lemon", + "Fill a tumbler with fresh ice", + "Pour the desired dose of vodka and top up with the tonic", + "Squeeze the lime wedge into the glass and decorate with the slice", + "That's all, very simple: it's just the recipe for happiness!" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14167", + "alias": "vodka-martini", + "name": "Vodka Martini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qyxrqw1439906528.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "3/4 oz Dry Vermouth" + }, + { + "text": "1 Olive" + } + ], + "steps": [ + "Shake the vodka and vermouth together with a number of ice cubes, strain into a cocktail glass, add the olive and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15403", + "alias": "vodka-russian", + "name": "Vodka Russian", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/rpttur1454515129.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "Schweppes Russchian" + } + ], + "steps": [ + "Mix it as a ordinary drink" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12442", + "alias": "vermouth-cassis", + "name": "Vermouth Cassis", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/tswpxx1441554674.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Dry Vermouth" + }, + { + "text": "3/4 oz Creme de Cassis" + }, + { + "text": "Carbonated water" + } + ], + "steps": [ + "Stir vermouth and creme de cassis in a highball glass with ice cubes", + "Fill with carbonated water, stir again, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12452", + "alias": "victory-collins", + "name": "Victory Collins", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/lx0lvs1492976619.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Vodka" + }, + { + "text": "3 oz Lemon juice" + }, + { + "text": "3 oz unsweetened Grape juice" + }, + { + "text": "1 tsp Powdered sugar" + }, + { + "text": "1 slice Orange" + } + ], + "steps": [ + "Shake all ingredients (except orange slice) with ice and strain into a collins glass over ice cubes", + "Add the slice of orange and serve" + ], + "categories": [ + "Ordinary Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12460", + "alias": "vodka-and-tonic", + "name": "Vodka And Tonic", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/lmj2yt1504820500.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "Tonic water" + } + ], + "steps": [ + "Pour vodka into a highball glass over ice cubes", + "Fill with tonic water, stir, and serve" + ], + "categories": [ + "Ordinary Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12434", + "alias": "valencia-cocktail", + "name": "Valencia Cocktail", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/9myuc11492975640.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Apricot brandy" + }, + { + "text": "1 tblsp Orange juice" + }, + { + "text": "2 dashes Orange bitters" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12518", + "alias": "whisky-mac", + "name": "Whisky Mac", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yvvwys1461867858.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Scotch" + }, + { + "text": "1 oz Green Ginger Wine" + } + ], + "steps": [ + "Pour both of the ingredients into a wine goblet with no ice" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17194", + "alias": "white-lady", + "name": "White Lady", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/jofsaz1504352991.jpg", + "ingredients": [ + { + "text": "4cl Gin" + }, + { + "text": "3cl Triple Sec" + }, + { + "text": "2cl Lemon Juice" + } + ], + "steps": [ + "Add all ingredients into cocktail shaker filled with ice", + "Shake well and strain into large cocktail glass" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "13058", + "alias": "wine-punch", + "name": "Wine Punch", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/txustu1473344310.jpg", + "ingredients": [ + { + "text": "1 bottle Red wine" + }, + { + "text": "2 Lemon" + }, + { + "text": "1 cup Orange juice" + }, + { + "text": "3 Orange" + }, + { + "text": "1 cup Pineapple juice" + } + ], + "steps": [ + "Combine all of the ingredients and pour over a block of ice" + ], + "categories": [ + "Punch / Party Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "13056", + "alias": "wine-cooler", + "name": "Wine Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/yutxtv1473344210.jpg", + "ingredients": [ + { + "text": "2 oz white or Red wine" + }, + { + "text": "5 oz Lemon-lime soda" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Mix wine and soft drink", + "Pour into glass", + "Add ice" + ], + "categories": [ + "Punch / Party Drink", + "Collins Glass", + "Optional alcohol" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178347", + "alias": "winter-rita", + "name": "Winter Rita", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/fwpd0v1614006733.jpg", + "ingredients": [ + { + "text": "1 2/3 oz Tequila" + }, + { + "text": "1/4 oz Campari" + }, + { + "text": "3/4 oz Lime Juice" + }, + { + "text": "1/2 oz Orange Juice" + }, + { + "text": "1/2 oz Rosemary Syrup" + }, + { + "text": "Dash Salt" + } + ], + "steps": [ + "Salt rim", + "Combine all ingredients, shake with ice, and strain over fresh ice.⠀" + ], + "categories": [ + "Beer", + "Highball Glass", + "Alcoholic" + ], + "tags": [ + "Winter" + ], + "ibaCategory": null + }, + { + "id": "11004", + "alias": "whiskey-sour", + "name": "Whiskey Sour", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hbkfsh1589574990.jpg", + "ingredients": [ + { + "text": "2 oz Blended whiskey" + }, + { + "text": "Juice of 1/2 Lemon" + }, + { + "text": "1/2 tsp Powdered sugar" + }, + { + "text": "1 Cherry" + }, + { + "text": "1/2 slice Lemon" + } + ], + "steps": [ + "Shake with ice", + "Strain into chilled glass, garnish and serve", + "If served 'On the rocks', strain ingredients into old-fashioned glass filled with ice" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "Classic", + "Alcoholic", + "ContemporaryClassic" + ], + "ibaCategory": "Unforgettables" + }, + { + "id": "12528", + "alias": "white-russian", + "name": "White Russian", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/vsrupw1472405732.jpg", + "ingredients": [ + { + "text": "2 oz Vodka" + }, + { + "text": "1 oz Coffee liqueur" + }, + { + "text": "Light cream" + } + ], + "steps": [ + "Pour vodka and coffee liqueur over ice cubes in an old-fashioned glass", + "Fill with light cream and serve" + ], + "categories": [ + "Ordinary Drink", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "178348", + "alias": "winter-paloma", + "name": "Winter Paloma", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/u5f0pz1614007748.jpg", + "ingredients": [ + { + "text": "2 shots Tequila" + }, + { + "text": "Top Grapefruit Juice" + }, + { + "text": "Juice of 1 Lime Juice" + }, + { + "text": "1 tsp Agave Syrup" + }, + { + "text": "Dash Pepper" + } + ], + "steps": [ + "Everyone’s favourite Paloma gets a delicious Indian makeover", + "Tequila reposado infused with “Timur Pepper” which has citrusy & grapefruit notes and is grown at the foothills of Himalaya", + "It also produces a slightly numbing and tingling sensation on your lip when consumed", + "We have also spiced up the fresh grapefruit juice with the warming spice blend from Himalaya", + "The combination of all these interesting elements has allowed us to elevate your Paloma sipping experience" + ], + "categories": [ + "Cocktail", + "Highball glass", + "Alcoholic" + ], + "tags": [ + "Winter" + ], + "ibaCategory": null + }, + { + "id": "178326", + "alias": "white-wine-sangria", + "name": "White Wine Sangria", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/hnuod91587851576.jpg", + "ingredients": [ + { + "text": "1 Lime" + }, + { + "text": "1 lemon" + }, + { + "text": "750 ml White Wine" + }, + { + "text": "1 cup Strawberries" + }, + { + "text": "1 cup Apple" + }, + { + "text": "3 shots Apple Brandy" + }, + { + "text": "Top Soda Water" + } + ], + "steps": [ + "Chop the Lemon, Lime and other fruits into large chunks", + "Fill the Pitcher with the white wine and mix in the Apple Brandy", + "Top to taste with soda water" + ], + "categories": [ + "Punch / Party Drink", + "Pitcher", + "Alcoholic" + ], + "tags": [ + "Spanish" + ], + "ibaCategory": null + }, + { + "id": "16158", + "alias": "whitecap-margarita", + "name": "Whitecap Margarita", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/srpxxp1441209622.jpg", + "ingredients": [ + { + "text": "1 cup Ice" + }, + { + "text": "2 oz Tequila" + }, + { + "text": "1/4 cup Cream of coconut" + }, + { + "text": "3 tblsp fresh Lime juice" + } + ], + "steps": [ + "Place all ingredients in a blender and blend until smooth", + "This makes one drink" + ], + "categories": [ + "Other / Unknown", + "Margarita/Coupette glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "12474", + "alias": "waikiki-beachcomber", + "name": "Waikiki Beachcomber", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ysuqus1441208583.jpg", + "ingredients": [ + { + "text": "3/4 oz Triple sec" + }, + { + "text": "3/4 oz Gin" + }, + { + "text": "1 tblsp Pineapple juice" + } + ], + "steps": [ + "Shake all ingredients with ice, strain into a cocktail glass, and serve" + ], + "categories": [ + "Ordinary Drink", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17219", + "alias": "yellow-bird", + "name": "Yellow Bird", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2t9r6w1504374811.jpg", + "ingredients": [ + { + "text": "3 cl White Rum" + }, + { + "text": "1.5 cl Galliano" + }, + { + "text": "1.5 cl Triple Sec" + }, + { + "text": "1.5 cl Lime Juice" + } + ], + "steps": [ + "Shake and strain into a chilled cocktail glass" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [ + "IBA", + "NewEra" + ], + "ibaCategory": "New Era Drinks" + }, + { + "id": "12728", + "alias": "yoghurt-cooler", + "name": "Yoghurt Cooler", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/trttrv1441254466.jpg", + "ingredients": [ + { + "text": "1 cup Yoghurt" + }, + { + "text": "1 cup Fruit" + }, + { + "text": "Ice" + } + ], + "steps": [ + "Place all ingredients in the blender jar - cover and whiz on medium speed until well blended", + "Pour in one tall, 2 medium or 3 small glasses and drink up", + "Note: Use lots of ice in this one - great on hot days!", + "To add ice: Remove the center of the cover while the blender is on - drop 3 or 4 ice cubs and blend until they're completely crushed" + ], + "categories": [ + "Other / Unknown", + "Highball Glass", + "Non alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15328", + "alias": "zorro", + "name": "Zorro", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/kvvd4z1485621283.jpg", + "ingredients": [ + { + "text": "2 cl Sambuca" + }, + { + "text": "2 cl Baileys irish cream" + }, + { + "text": "2 cl White Creme de Menthe" + } + ], + "steps": [ + "add all and pour black coffee and add whipped cream on top" + ], + "categories": [ + "Coffee / Tea", + "Coffee Mug", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14888", + "alias": "zinger", + "name": "Zinger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/iixv4l1485620014.jpg", + "ingredients": [ + { + "text": "4 shots Peachtree schnapps" + }, + { + "text": "4 shots Surge" + } + ], + "steps": [ + "Get a shot glass and pour in three shots of the schnapps", + "Do the same with the Surge Cola", + "Then down it like Scheetz would" + ], + "categories": [ + "Soft Drink", + "Highball glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15691", + "alias": "zoksel", + "name": "Zoksel", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/ft8ed01485620930.jpg", + "ingredients": [ + { + "text": "Beer" + }, + { + "text": "Root beer" + }, + { + "text": "Lemonade" + }, + { + "text": "slice Coca-Cola" + }, + { + "text": "7-Up" + }, + { + "text": "Creme de Cassis" + }, + { + "text": "Lemon" + } + ], + "steps": [ + "No specific mixing instructions, just poor every ingredient in one glass", + "The lemon goes with it" + ], + "categories": [ + "Soft Drink", + "Beer pilsner", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17241", + "alias": "zombie", + "name": "Zombie", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/2en3jk1509557725.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Rum" + }, + { + "text": "1 1/2 oz Gold rum" + }, + { + "text": "1 oz 151 proof rum" + }, + { + "text": "1 tsp Pernod" + }, + { + "text": "1 tsp Grenadine" + }, + { + "text": "1 tsp Lime Juice" + }, + { + "text": "1 drop Angostura Bitters" + } + ], + "steps": [ + "Blend at high speed for no more than 5 seconds", + "Pour into a glass, add ice cubes to fill, then add the garnish", + "*Donn’s mix: Bring 3 crushed cinnamon sticks, 1 cup of sugar and 1 cup of water to a boil, stirring until the sugar is dissolved", + "Simmer for 2 minutes, then remove from the heat and let sit for at least 2 hours before straining into a clean glass bottle", + "Then add 1 part of the syrup and 2 parts of fresh grapefruit juice together" + ], + "categories": [ + "Cocktail", + "Hurricane glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15933", + "alias": "zambeer", + "name": "Zambeer", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bje5401485619578.jpg", + "ingredients": [ + { + "text": "1 1/2 oz Sambuca" + }, + { + "text": "Add 10 oz Root beer" + }, + { + "text": "cubes Ice" + } + ], + "steps": [ + "Mix sambuca with rootbeer and stir", + "Add ice" + ], + "categories": [ + "Soft Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16963", + "alias": "zorbatini", + "name": "Zorbatini", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/wtkqgb1485621155.jpg", + "ingredients": [ + { + "text": "1 1/4 oz Stoli Vodka" + }, + { + "text": "1/4 oz Ouzo" + } + ], + "steps": [ + "Prepare like a Martini", + "Garnish with a green olive" + ], + "categories": [ + "Cocktail", + "Cocktail glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15254", + "alias": "zenmeister", + "name": "Zenmeister", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/qyuvsu1479209462.jpg", + "ingredients": [ + { + "text": "1/2 oz Jägermeister" + }, + { + "text": "1/2 oz Root beer" + } + ], + "steps": [ + "Mix together and enjoy" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "16942", + "alias": "zipperhead", + "name": "Zipperhead", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/r2qzhu1485620235.jpg", + "ingredients": [ + { + "text": "1 shot Chambord raspberry liqueur" + }, + { + "text": "1 shot Vodka" + }, + { + "text": "Fill with Soda water" + } + ], + "steps": [ + "Fill glass with rocks, add straw before putting in liquor", + "Then add the ingredients in order, trying to keep layered as much as possible (i.e", + "Chambord on bottom, then Vodka, Then soda on top)" + ], + "categories": [ + "Shot", + "Whiskey sour glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "17027", + "alias": "zima-blaster", + "name": "Zima Blaster", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/1wifuv1485619797.jpg", + "ingredients": [ + { + "text": "12 oz Zima" + }, + { + "text": "3 oz Chambord raspberry liqueur" + } + ], + "steps": [ + "Fill glass with ice", + "Pour in Chambord, then fill with Zima", + "Mix and enjoy" + ], + "categories": [ + "Ordinary Drink", + "Hurricane glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14594", + "alias": "zizi-coin-coin", + "name": "Zizi Coin-coin", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/0fbo2t1485620752.jpg", + "ingredients": [ + { + "text": "5 cl Cointreau" + }, + { + "text": "2 cl Lemon juice" + }, + { + "text": "cubes Ice" + }, + { + "text": "or lime Lemon" + } + ], + "steps": [ + "Pour 5cl of Cointreau on ice, add 2cl of fresh lemon (or lime) juice, stir gently, and finally add slices of lemon/lime in glass" + ], + "categories": [ + "Punch / Party Drink", + "Margarita/Coupette glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "15801", + "alias": "zimadori-zinger", + "name": "Zimadori Zinger", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/bw8gzx1485619920.jpg", + "ingredients": [ + { + "text": "1.5 oz Midori melon liqueur" + }, + { + "text": "12 oz Zima" + } + ], + "steps": [ + "Pour Zima in a collins glass over ice and then pour the shot of Midori", + "Don't stir", + "Garnish with a cherry" + ], + "categories": [ + "Punch / Party Drink", + "Collins glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14065", + "alias": "zippys-revenge", + "name": "Zippy's Revenge", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/1sqm7n1485620312.jpg", + "ingredients": [ + { + "text": "2 oz Amaretto" + }, + { + "text": "2 oz Rum" + }, + { + "text": "4 oz Grape Kool-Aid" + } + ], + "steps": [ + "Mix Kool-Aid to taste then add Rum and ammaretto", + "shake well to disolve the sugar in the Kool-Aid", + "serve cold" + ], + "categories": [ + "Cocktail", + "Old-fashioned glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + }, + { + "id": "14157", + "alias": "ziemes-martini-apfelsaft", + "name": "Ziemes Martini Apfelsaft", + "imageUrl": "https://www.thecocktaildb.com/images/media/drink/xnzr2p1485619687.jpg", + "ingredients": [ + { + "text": "4 cl Vermouth" + }, + { + "text": "16 cl Apple juice" + } + ], + "steps": [ + "Serve without ice", + "At least the juice shold have room temperature" + ], + "categories": [ + "Ordinary Drink", + "Collins Glass", + "Alcoholic" + ], + "tags": [], + "ibaCategory": null + } +] \ No newline at end of file diff --git a/shared/src/iosMain/kotlin/com/popalay/barnee/util/ResourceReader.kt b/shared/src/iosMain/kotlin/com/popalay/barnee/util/ResourceReader.kt new file mode 100644 index 0000000..1f08bd2 --- /dev/null +++ b/shared/src/iosMain/kotlin/com/popalay/barnee/util/ResourceReader.kt @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2025 Denys Nykyforov + * + * 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. + */ + +package com.popalay.barnee.util + +import platform.Foundation.NSBundle +import platform.Foundation.NSString +import platform.Foundation.NSUTF8StringEncoding +import platform.Foundation.stringWithContentsOfFile + +actual fun readResource(fileName: String): String { + val nameWithoutExtension = fileName.substringBeforeLast(".") + val extension = fileName.substringAfterLast(".", "") + val path = checkNotNull( + NSBundle.mainBundle.pathForResource(nameWithoutExtension, extension) + ) { "Resource not found: $fileName" } + return checkNotNull( + NSString.stringWithContentsOfFile(path, NSUTF8StringEncoding, null) + ) { "Failed to read resource: $fileName" } +} From f0f54bb1a2dd73c6ac74dc6722bb155d3d8b62da Mon Sep 17 00:00:00 2001 From: Denis Nykyforov Date: Sat, 14 Mar 2026 18:52:04 +0200 Subject: [PATCH 4/5] Update copyright year to 2026 Made-with: Cursor --- app/build.gradle.kts | 2 +- app/src/androidMain/kotlin/com/popalay/barnee/App.kt | 2 +- app/src/androidMain/kotlin/com/popalay/barnee/MainActivity.kt | 2 +- build.gradle.kts | 2 +- shared/build.gradle.kts | 2 +- .../com/popalay/barnee/data/device/KeepScreenOnSetter.kt | 2 +- .../kotlin/com/popalay/barnee/data/device/ShakeDetector.kt | 2 +- .../kotlin/com/popalay/barnee/data/device/SharerImpl.kt | 2 +- .../com/popalay/barnee/data/remote/DeeplinkFactoryImpl.kt | 2 +- .../androidMain/kotlin/com/popalay/barnee/di/KoinAndroid.kt | 2 +- .../kotlin/com/popalay/barnee/util/PlatformExtensions.kt | 2 +- .../kotlin/com/popalay/barnee/util/ResourceReader.kt | 2 +- .../com/popalay/barnee/data/device/KeepScreenOnSetter.kt | 2 +- .../kotlin/com/popalay/barnee/data/device/ShakeDetector.kt | 2 +- .../kotlin/com/popalay/barnee/data/device/Sharer.kt | 2 +- .../com/popalay/barnee/data/local/LocalDrinkDataSource.kt | 2 +- .../kotlin/com/popalay/barnee/data/local/LocalStore.kt | 2 +- .../com/popalay/barnee/data/message/MessagesProvider.kt | 2 +- .../kotlin/com/popalay/barnee/data/model/Aggregation.kt | 2 +- .../com/popalay/barnee/data/model/AiGenerationResponse.kt | 2 +- .../kotlin/com/popalay/barnee/data/model/Category.kt | 2 +- .../kotlin/com/popalay/barnee/data/model/Collection.kt | 2 +- .../commonMain/kotlin/com/popalay/barnee/data/model/Drink.kt | 2 +- .../kotlin/com/popalay/barnee/data/model/FullDrinkResponse.kt | 4 ++-- .../commonMain/kotlin/com/popalay/barnee/data/model/Image.kt | 2 +- .../kotlin/com/popalay/barnee/data/model/ImageUrl.kt | 2 +- .../kotlin/com/popalay/barnee/data/model/Ingredient.kt | 2 +- .../kotlin/com/popalay/barnee/data/model/Instruction.kt | 2 +- .../kotlin/com/popalay/barnee/data/model/InstructionStep.kt | 2 +- .../kotlin/com/popalay/barnee/data/model/Nutrition.kt | 2 +- .../commonMain/kotlin/com/popalay/barnee/data/model/Video.kt | 2 +- .../commonMain/kotlin/com/popalay/barnee/data/remote/AiApi.kt | 2 +- .../kotlin/com/popalay/barnee/data/remote/CloudinaryApi.kt | 2 +- .../kotlin/com/popalay/barnee/data/remote/CocktailDbMapper.kt | 2 +- .../kotlin/com/popalay/barnee/data/remote/DeeplinkFactory.kt | 2 +- .../com/popalay/barnee/data/remote/model/CocktailDbDrink.kt | 2 +- .../popalay/barnee/data/repository/CollectionRepository.kt | 2 +- .../kotlin/com/popalay/barnee/data/repository/DrinkPager.kt | 2 +- .../com/popalay/barnee/data/repository/DrinkRepository.kt | 2 +- .../com/popalay/barnee/data/repository/DrinksRequest.kt | 2 +- .../com/popalay/barnee/data/repository/ShareRepository.kt | 2 +- .../barnee/data/transformer/InstructionStepTransformer.kt | 2 +- .../barnee/data/transformer/SanitizeStringTransformer.kt | 2 +- .../barnee/data/transformer/StringAsImageUrlTransformer.kt | 2 +- shared/src/commonMain/kotlin/com/popalay/barnee/di/Koin.kt | 2 +- .../src/commonMain/kotlin/com/popalay/barnee/domain/Result.kt | 2 +- .../kotlin/com/popalay/barnee/domain/StateMachine.kt | 2 +- .../domain/addtocollection/AddToCollectionStateMachine.kt | 2 +- .../popalay/barnee/domain/bartender/BartenderStateMachine.kt | 2 +- .../barnee/domain/collection/CollectionStateMachine.kt | 2 +- .../domain/collectionlist/CollectionListStateMachine.kt | 2 +- .../barnee/domain/deeplink/CollectionDeeplinkHandler.kt | 2 +- .../com/popalay/barnee/domain/deeplink/DeeplinkHandler.kt | 2 +- .../com/popalay/barnee/domain/deeplink/DeeplinkManager.kt | 2 +- .../popalay/barnee/domain/deeplink/DrinkDeeplinkHandler.kt | 2 +- .../popalay/barnee/domain/discovery/DiscoveryStateMachine.kt | 2 +- .../com/popalay/barnee/domain/drink/DrinkStateMachine.kt | 2 +- .../popalay/barnee/domain/drinkitem/DrinkItemStateMachine.kt | 2 +- .../kotlin/com/popalay/barnee/domain/log/NavigationLogger.kt | 2 +- .../com/popalay/barnee/domain/log/StateMachineLogger.kt | 2 +- .../kotlin/com/popalay/barnee/domain/navigation/AppScreens.kt | 2 +- .../popalay/barnee/domain/navigation/NavigationSideEffect.kt | 2 +- .../kotlin/com/popalay/barnee/domain/navigation/Router.kt | 2 +- .../popalay/barnee/domain/navigation/ScreenWithInputAsKey.kt | 2 +- .../popalay/barnee/domain/navigation/TypedScreenProvider.kt | 2 +- .../ParameterizedDrinkListStateMachine.kt | 2 +- .../com/popalay/barnee/domain/search/SearchStateMachine.kt | 2 +- .../barnee/domain/shakedrink/ShakeToDrinkStateMachine.kt | 2 +- .../com/popalay/barnee/domain/usecase/GetCollectionUseCase.kt | 2 +- .../kotlin/com/popalay/barnee/util/DataExtensions.kt | 2 +- .../kotlin/com/popalay/barnee/util/FlowExtensions.kt | 2 +- .../kotlin/com/popalay/barnee/util/NumberExtensions.kt | 2 +- .../kotlin/com/popalay/barnee/util/PlatformExtensions.kt | 2 +- .../kotlin/com/popalay/barnee/util/ResourceReader.kt | 2 +- .../kotlin/com/popalay/barnee/util/TextExtensions.kt | 2 +- .../kotlin/com/popalay/barnee/data/device/ShakeDetector.kt | 2 +- .../kotlin/com/popalay/barnee/data/device/SharerImpl.kt | 2 +- .../com/popalay/barnee/data/remote/DeeplinkFactoryImpl.kt | 2 +- shared/src/iosMain/kotlin/com/popalay/barnee/di/KoinIos.kt | 2 +- .../kotlin/com/popalay/barnee/util/PlatformExtensions.kt | 2 +- .../iosMain/kotlin/com/popalay/barnee/util/ResourceReader.kt | 2 +- .../androidMain/kotlin/com/popalay/barnee/ui/common/Dialog.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/YouTubePlayer.kt | 2 +- .../kotlin/com/popalay/barnee/ui/platform/HandleIntent.kt | 2 +- .../kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt | 2 +- .../kotlin/com/popalay/barnee/ui/platform/Lifecycle.kt | 2 +- ui/src/commonMain/kotlin/com/popalay/barnee/ui/ComposeApp.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/ActionsAppBar.kt | 2 +- .../com/popalay/barnee/ui/common/AnimatedHeartButton.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/AsyncImage.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/BackButton.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/BarneeTextField.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/BottomSheetContent.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/CollapsingScaffold.kt | 2 +- .../commonMain/kotlin/com/popalay/barnee/ui/common/Dialog.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/LazyList.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/Modifiers.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/PrimarySnackbar.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/StateLayout.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/StatesView.kt | 2 +- .../kotlin/com/popalay/barnee/ui/common/YouTubePlayer.kt | 2 +- ui/src/commonMain/kotlin/com/popalay/barnee/ui/di/Modules.kt | 2 +- .../kotlin/com/popalay/barnee/ui/discovery/CategoryList.kt | 2 +- .../kotlin/com/popalay/barnee/ui/extensions/Navigation.kt | 2 +- .../kotlin/com/popalay/barnee/ui/extensions/StateMachine.kt | 2 +- ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Add.kt | 2 +- .../kotlin/com/popalay/barnee/ui/icons/Bartender.kt | 2 +- .../kotlin/com/popalay/barnee/ui/icons/ChevronLeft.kt | 2 +- .../kotlin/com/popalay/barnee/ui/icons/CocktailShaker.kt | 2 +- ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Cross.kt | 2 +- ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Done.kt | 2 +- .../commonMain/kotlin/com/popalay/barnee/ui/icons/Filter.kt | 2 +- .../kotlin/com/popalay/barnee/ui/icons/HeartFilled.kt | 2 +- .../kotlin/com/popalay/barnee/ui/icons/HeartOutline.kt | 2 +- .../commonMain/kotlin/com/popalay/barnee/ui/icons/LightOff.kt | 2 +- .../commonMain/kotlin/com/popalay/barnee/ui/icons/LightOn.kt | 2 +- .../commonMain/kotlin/com/popalay/barnee/ui/icons/Search.kt | 2 +- ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Share.kt | 2 +- .../popalay/barnee/ui/navigation/AppBottomSheetNavigator.kt | 2 +- .../kotlin/com/popalay/barnee/ui/navigation/NavigationHost.kt | 2 +- .../kotlin/com/popalay/barnee/ui/navigation/ScreenRegistry.kt | 2 +- .../kotlin/com/popalay/barnee/ui/platform/HandleIntent.kt | 2 +- .../kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt | 2 +- .../kotlin/com/popalay/barnee/ui/platform/Lifecycle.kt | 2 +- .../barnee/ui/screen/addtocollection/AddToCollectionScreen.kt | 2 +- .../ui/screen/addtocollection/ChooseCollectionBottomSheet.kt | 2 +- .../ui/screen/addtocollection/CreateCollectionBottomSheet.kt | 2 +- .../com/popalay/barnee/ui/screen/bartender/BartenderScreen.kt | 2 +- .../popalay/barnee/ui/screen/bartender/ShakeCocktailButton.kt | 2 +- .../popalay/barnee/ui/screen/collection/CollectionScreen.kt | 2 +- .../popalay/barnee/ui/screen/collectionlist/CollectionGrid.kt | 2 +- .../barnee/ui/screen/collectionlist/CollectionListScreen.kt | 2 +- .../com/popalay/barnee/ui/screen/discovery/DiscoveryScreen.kt | 2 +- .../com/popalay/barnee/ui/screen/drink/CollectionBanner.kt | 2 +- .../kotlin/com/popalay/barnee/ui/screen/drink/DrinkScreen.kt | 2 +- .../com/popalay/barnee/ui/screen/drinklist/DrinkList.kt | 2 +- .../barnee/ui/screen/generateddrinks/GeneratedDrinksScreen.kt | 2 +- .../parameterizeddrinklist/ParameterizedDrinkListScreen.kt | 2 +- .../com/popalay/barnee/ui/screen/search/SearchScreen.kt | 2 +- .../barnee/ui/screen/shaketodrink/ShakeToDrinkScreen.kt | 2 +- ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Color.kt | 2 +- ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Shape.kt | 2 +- ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Theme.kt | 2 +- ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Type.kt | 2 +- .../kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt | 2 +- 145 files changed, 146 insertions(+), 146 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index d083967..a5b8c84 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/app/src/androidMain/kotlin/com/popalay/barnee/App.kt b/app/src/androidMain/kotlin/com/popalay/barnee/App.kt index 40d7389..03252e5 100644 --- a/app/src/androidMain/kotlin/com/popalay/barnee/App.kt +++ b/app/src/androidMain/kotlin/com/popalay/barnee/App.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/app/src/androidMain/kotlin/com/popalay/barnee/MainActivity.kt b/app/src/androidMain/kotlin/com/popalay/barnee/MainActivity.kt index 6153b8b..225d583 100644 --- a/app/src/androidMain/kotlin/com/popalay/barnee/MainActivity.kt +++ b/app/src/androidMain/kotlin/com/popalay/barnee/MainActivity.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/build.gradle.kts b/build.gradle.kts index 0761d88..ec3d1b1 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/build.gradle.kts b/shared/build.gradle.kts index debf3b0..61397b8 100644 --- a/shared/build.gradle.kts +++ b/shared/build.gradle.kts @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/KeepScreenOnSetter.kt b/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/KeepScreenOnSetter.kt index 215721b..b40e9e7 100644 --- a/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/KeepScreenOnSetter.kt +++ b/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/KeepScreenOnSetter.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt b/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt index 26240cb..2b5670f 100644 --- a/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt +++ b/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/SharerImpl.kt b/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/SharerImpl.kt index 390eb5a..264bebf 100644 --- a/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/SharerImpl.kt +++ b/shared/src/androidMain/kotlin/com/popalay/barnee/data/device/SharerImpl.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/androidMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactoryImpl.kt b/shared/src/androidMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactoryImpl.kt index 6dd053c..5043137 100644 --- a/shared/src/androidMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactoryImpl.kt +++ b/shared/src/androidMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactoryImpl.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/androidMain/kotlin/com/popalay/barnee/di/KoinAndroid.kt b/shared/src/androidMain/kotlin/com/popalay/barnee/di/KoinAndroid.kt index 53405b6..deec949 100644 --- a/shared/src/androidMain/kotlin/com/popalay/barnee/di/KoinAndroid.kt +++ b/shared/src/androidMain/kotlin/com/popalay/barnee/di/KoinAndroid.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/androidMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt b/shared/src/androidMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt index 0122a1c..a4e9012 100644 --- a/shared/src/androidMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt +++ b/shared/src/androidMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/androidMain/kotlin/com/popalay/barnee/util/ResourceReader.kt b/shared/src/androidMain/kotlin/com/popalay/barnee/util/ResourceReader.kt index cacbe04..1b260ec 100644 --- a/shared/src/androidMain/kotlin/com/popalay/barnee/util/ResourceReader.kt +++ b/shared/src/androidMain/kotlin/com/popalay/barnee/util/ResourceReader.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/KeepScreenOnSetter.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/KeepScreenOnSetter.kt index 368578b..e00a8a1 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/KeepScreenOnSetter.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/KeepScreenOnSetter.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt index 31bb07f..9446587 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/Sharer.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/Sharer.kt index 52e4b86..07642d2 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/Sharer.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/device/Sharer.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalDrinkDataSource.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalDrinkDataSource.kt index d5fd9c1..48b6cdd 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalDrinkDataSource.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalDrinkDataSource.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalStore.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalStore.kt index 5aec6b1..41f9907 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalStore.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/local/LocalStore.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/message/MessagesProvider.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/message/MessagesProvider.kt index 15d55b4..fffc057 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/message/MessagesProvider.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/message/MessagesProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Aggregation.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Aggregation.kt index c5368df..45a62ca 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Aggregation.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Aggregation.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/AiGenerationResponse.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/AiGenerationResponse.kt index b1f874b..e8d8dfe 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/AiGenerationResponse.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/AiGenerationResponse.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Category.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Category.kt index c4849b1..62a8145 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Category.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Category.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Collection.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Collection.kt index 9b2f994..01487a3 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Collection.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Collection.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Drink.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Drink.kt index 2adf724..92dc138 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Drink.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Drink.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/FullDrinkResponse.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/FullDrinkResponse.kt index 4aaa9aa..21073d5 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/FullDrinkResponse.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/FullDrinkResponse.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -21,7 +21,7 @@ */ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Image.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Image.kt index 7a2eea0..f566711 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Image.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Image.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/ImageUrl.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/ImageUrl.kt index 3630669..4cc68d4 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/ImageUrl.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/ImageUrl.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Ingredient.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Ingredient.kt index cd8ab0b..d481cec 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Ingredient.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Ingredient.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Instruction.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Instruction.kt index a5975b1..cd81fdb 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Instruction.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Instruction.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/InstructionStep.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/InstructionStep.kt index 21c624c..46476d9 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/InstructionStep.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/InstructionStep.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Nutrition.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Nutrition.kt index 41a7296..45276a7 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Nutrition.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Nutrition.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Video.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Video.kt index 245b4e1..ee22a99 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Video.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/model/Video.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/AiApi.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/AiApi.kt index 39061bd..2738c87 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/AiApi.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/AiApi.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CloudinaryApi.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CloudinaryApi.kt index 732a40a..43a52d4 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CloudinaryApi.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CloudinaryApi.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CocktailDbMapper.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CocktailDbMapper.kt index 89edc9f..d3fd4d2 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CocktailDbMapper.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/CocktailDbMapper.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactory.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactory.kt index 0b50192..2f5b785 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactory.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactory.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/model/CocktailDbDrink.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/model/CocktailDbDrink.kt index 01f80dd..16314cd 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/model/CocktailDbDrink.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/remote/model/CocktailDbDrink.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/CollectionRepository.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/CollectionRepository.kt index a8cbe99..42a209c 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/CollectionRepository.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/CollectionRepository.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkPager.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkPager.kt index 71259db..e38df78 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkPager.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkPager.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkRepository.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkRepository.kt index 905d1c4..4174bd9 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkRepository.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinkRepository.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinksRequest.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinksRequest.kt index ab27eac..a9f23e2 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinksRequest.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/DrinksRequest.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/ShareRepository.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/ShareRepository.kt index f332c3c..950e27f 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/ShareRepository.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/repository/ShareRepository.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/InstructionStepTransformer.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/InstructionStepTransformer.kt index 363b6a5..7a3d792 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/InstructionStepTransformer.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/InstructionStepTransformer.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/SanitizeStringTransformer.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/SanitizeStringTransformer.kt index 6563a37..fa3575d 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/SanitizeStringTransformer.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/SanitizeStringTransformer.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/StringAsImageUrlTransformer.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/StringAsImageUrlTransformer.kt index 19c41aa..4aa207c 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/StringAsImageUrlTransformer.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/data/transformer/StringAsImageUrlTransformer.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/di/Koin.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/di/Koin.kt index bd0dd81..e3ae391 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/di/Koin.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/di/Koin.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/Result.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/Result.kt index 7b55f00..3557b4e 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/Result.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/Result.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/StateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/StateMachine.kt index 7c8b2b7..ad95081 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/StateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/StateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/addtocollection/AddToCollectionStateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/addtocollection/AddToCollectionStateMachine.kt index 834e8ba..83c1921 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/addtocollection/AddToCollectionStateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/addtocollection/AddToCollectionStateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/bartender/BartenderStateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/bartender/BartenderStateMachine.kt index 8eab454..db9e5e6 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/bartender/BartenderStateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/bartender/BartenderStateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/collection/CollectionStateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/collection/CollectionStateMachine.kt index 37686e2..7e45f3e 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/collection/CollectionStateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/collection/CollectionStateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/collectionlist/CollectionListStateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/collectionlist/CollectionListStateMachine.kt index a108e26..8a0d5f5 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/collectionlist/CollectionListStateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/collectionlist/CollectionListStateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/CollectionDeeplinkHandler.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/CollectionDeeplinkHandler.kt index ebc8be2..2fb782a 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/CollectionDeeplinkHandler.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/CollectionDeeplinkHandler.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkHandler.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkHandler.kt index a128578..1e18bf9 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkHandler.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkHandler.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkManager.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkManager.kt index 5018caa..77169e5 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkManager.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DeeplinkManager.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DrinkDeeplinkHandler.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DrinkDeeplinkHandler.kt index c793c9a..9024f13 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DrinkDeeplinkHandler.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/deeplink/DrinkDeeplinkHandler.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/discovery/DiscoveryStateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/discovery/DiscoveryStateMachine.kt index 892403d..2ba5eea 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/discovery/DiscoveryStateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/discovery/DiscoveryStateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/drink/DrinkStateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/drink/DrinkStateMachine.kt index 009c9bd..1fa2062 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/drink/DrinkStateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/drink/DrinkStateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/drinkitem/DrinkItemStateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/drinkitem/DrinkItemStateMachine.kt index 0932d4c..46ab893 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/drinkitem/DrinkItemStateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/drinkitem/DrinkItemStateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/NavigationLogger.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/NavigationLogger.kt index 4cbda23..8c694f4 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/NavigationLogger.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/NavigationLogger.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/StateMachineLogger.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/StateMachineLogger.kt index e678074..4d0381a 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/StateMachineLogger.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/log/StateMachineLogger.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/AppScreens.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/AppScreens.kt index b64cef1..cf8a19f 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/AppScreens.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/AppScreens.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/NavigationSideEffect.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/NavigationSideEffect.kt index 1eeb6b6..ceb203c 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/NavigationSideEffect.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/NavigationSideEffect.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/Router.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/Router.kt index 44d523e..f9a6ac7 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/Router.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/Router.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/ScreenWithInputAsKey.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/ScreenWithInputAsKey.kt index 0d936d3..92b86fe 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/ScreenWithInputAsKey.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/ScreenWithInputAsKey.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/TypedScreenProvider.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/TypedScreenProvider.kt index b5d23db..9b59089 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/TypedScreenProvider.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/navigation/TypedScreenProvider.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/parameterizeddrinklist/ParameterizedDrinkListStateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/parameterizeddrinklist/ParameterizedDrinkListStateMachine.kt index 4095988..ae92fb2 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/parameterizeddrinklist/ParameterizedDrinkListStateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/parameterizeddrinklist/ParameterizedDrinkListStateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/search/SearchStateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/search/SearchStateMachine.kt index fea8221..2eb49e7 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/search/SearchStateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/search/SearchStateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/shakedrink/ShakeToDrinkStateMachine.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/shakedrink/ShakeToDrinkStateMachine.kt index 77170e0..25dcbfd 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/shakedrink/ShakeToDrinkStateMachine.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/shakedrink/ShakeToDrinkStateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/usecase/GetCollectionUseCase.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/usecase/GetCollectionUseCase.kt index acd48de..c047103 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/domain/usecase/GetCollectionUseCase.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/domain/usecase/GetCollectionUseCase.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/util/DataExtensions.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/util/DataExtensions.kt index cb2f285..1eb55da 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/util/DataExtensions.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/util/DataExtensions.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/util/FlowExtensions.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/util/FlowExtensions.kt index c84a1ce..cf3173a 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/util/FlowExtensions.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/util/FlowExtensions.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/util/NumberExtensions.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/util/NumberExtensions.kt index c403781..f7c062e 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/util/NumberExtensions.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/util/NumberExtensions.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt index a4a3597..3114626 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/util/ResourceReader.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/util/ResourceReader.kt index 977a360..a8b7d02 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/util/ResourceReader.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/util/ResourceReader.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/commonMain/kotlin/com/popalay/barnee/util/TextExtensions.kt b/shared/src/commonMain/kotlin/com/popalay/barnee/util/TextExtensions.kt index 2ccca81..c37cc1f 100644 --- a/shared/src/commonMain/kotlin/com/popalay/barnee/util/TextExtensions.kt +++ b/shared/src/commonMain/kotlin/com/popalay/barnee/util/TextExtensions.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/iosMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt b/shared/src/iosMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt index ad50da6..9e144e7 100644 --- a/shared/src/iosMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt +++ b/shared/src/iosMain/kotlin/com/popalay/barnee/data/device/ShakeDetector.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/iosMain/kotlin/com/popalay/barnee/data/device/SharerImpl.kt b/shared/src/iosMain/kotlin/com/popalay/barnee/data/device/SharerImpl.kt index 48af6ed..9eecd71 100644 --- a/shared/src/iosMain/kotlin/com/popalay/barnee/data/device/SharerImpl.kt +++ b/shared/src/iosMain/kotlin/com/popalay/barnee/data/device/SharerImpl.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/iosMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactoryImpl.kt b/shared/src/iosMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactoryImpl.kt index 8ca582f..ab682b9 100644 --- a/shared/src/iosMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactoryImpl.kt +++ b/shared/src/iosMain/kotlin/com/popalay/barnee/data/remote/DeeplinkFactoryImpl.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/iosMain/kotlin/com/popalay/barnee/di/KoinIos.kt b/shared/src/iosMain/kotlin/com/popalay/barnee/di/KoinIos.kt index 06e2ea8..b5d4c10 100644 --- a/shared/src/iosMain/kotlin/com/popalay/barnee/di/KoinIos.kt +++ b/shared/src/iosMain/kotlin/com/popalay/barnee/di/KoinIos.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/iosMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt b/shared/src/iosMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt index d8a6e2a..73fd21f 100644 --- a/shared/src/iosMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt +++ b/shared/src/iosMain/kotlin/com/popalay/barnee/util/PlatformExtensions.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/shared/src/iosMain/kotlin/com/popalay/barnee/util/ResourceReader.kt b/shared/src/iosMain/kotlin/com/popalay/barnee/util/ResourceReader.kt index 1f08bd2..64fcadb 100644 --- a/shared/src/iosMain/kotlin/com/popalay/barnee/util/ResourceReader.kt +++ b/shared/src/iosMain/kotlin/com/popalay/barnee/util/ResourceReader.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/common/Dialog.kt b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/common/Dialog.kt index de563df..8572c43 100644 --- a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/common/Dialog.kt +++ b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/common/Dialog.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/common/YouTubePlayer.kt b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/common/YouTubePlayer.kt index 1c0ce25..e7f4951 100644 --- a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/common/YouTubePlayer.kt +++ b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/common/YouTubePlayer.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/HandleIntent.kt b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/HandleIntent.kt index eb98243..639ef0e 100644 --- a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/HandleIntent.kt +++ b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/HandleIntent.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt index 46d081d..e122b91 100644 --- a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt +++ b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/Lifecycle.kt b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/Lifecycle.kt index 12c00e3..17b657a 100644 --- a/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/Lifecycle.kt +++ b/ui/src/androidMain/kotlin/com/popalay/barnee/ui/platform/Lifecycle.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/ComposeApp.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/ComposeApp.kt index 6371307..b0c018c 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/ComposeApp.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/ComposeApp.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/ActionsAppBar.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/ActionsAppBar.kt index e801b07..bf821d9 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/ActionsAppBar.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/ActionsAppBar.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AnimatedHeartButton.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AnimatedHeartButton.kt index f2b90c1..f4a78b8 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AnimatedHeartButton.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AnimatedHeartButton.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AsyncImage.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AsyncImage.kt index fedfc78..46894d7 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AsyncImage.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/AsyncImage.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BackButton.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BackButton.kt index 74dda83..b933cf7 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BackButton.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BackButton.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BarneeTextField.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BarneeTextField.kt index 3192de1..b239205 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BarneeTextField.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BarneeTextField.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BottomSheetContent.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BottomSheetContent.kt index 24dc9b0..24a1cbe 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BottomSheetContent.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/BottomSheetContent.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/CollapsingScaffold.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/CollapsingScaffold.kt index bad687a..9db28bd 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/CollapsingScaffold.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/CollapsingScaffold.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/Dialog.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/Dialog.kt index 47b90f2..8ec8fcb 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/Dialog.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/Dialog.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/LazyList.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/LazyList.kt index d2c0482..716854a 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/LazyList.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/LazyList.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/Modifiers.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/Modifiers.kt index 38dd0a2..829bf0e 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/Modifiers.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/Modifiers.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/PrimarySnackbar.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/PrimarySnackbar.kt index 0378b2e..a85570a 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/PrimarySnackbar.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/PrimarySnackbar.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/StateLayout.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/StateLayout.kt index 3f5999e..2af9fe0 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/StateLayout.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/StateLayout.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/StatesView.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/StatesView.kt index ebc8519..ed6a66e 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/StatesView.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/StatesView.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/YouTubePlayer.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/YouTubePlayer.kt index e6bac8d..4191c7f 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/YouTubePlayer.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/common/YouTubePlayer.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/di/Modules.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/di/Modules.kt index 4b7b3b1..9d197a3 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/di/Modules.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/di/Modules.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/discovery/CategoryList.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/discovery/CategoryList.kt index c6c9593..d0591e3 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/discovery/CategoryList.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/discovery/CategoryList.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/Navigation.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/Navigation.kt index 81334e8..a30f7e2 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/Navigation.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/Navigation.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/StateMachine.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/StateMachine.kt index 307c0f0..9a927ba 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/StateMachine.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/extensions/StateMachine.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Add.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Add.kt index 39c0b79..ef3b934 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Add.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Add.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Bartender.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Bartender.kt index 79e66e4..a049e9f 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Bartender.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Bartender.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/ChevronLeft.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/ChevronLeft.kt index c0c52f0..0e465b5 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/ChevronLeft.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/ChevronLeft.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/CocktailShaker.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/CocktailShaker.kt index a68d05b..8fe29e2 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/CocktailShaker.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/CocktailShaker.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Cross.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Cross.kt index 06e21a8..30ba850 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Cross.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Cross.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Done.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Done.kt index ea5a016..17385ae 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Done.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Done.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Filter.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Filter.kt index 370f7f7..fb46944 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Filter.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Filter.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/HeartFilled.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/HeartFilled.kt index 1763e8d..3688ee8 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/HeartFilled.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/HeartFilled.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/HeartOutline.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/HeartOutline.kt index 008a4a1..b469bf2 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/HeartOutline.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/HeartOutline.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/LightOff.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/LightOff.kt index d2c8a1b..8a00f18 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/LightOff.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/LightOff.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/LightOn.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/LightOn.kt index b173ec6..2464d54 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/LightOn.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/LightOn.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Search.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Search.kt index ced8f38..01dcb7f 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Search.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Search.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Share.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Share.kt index 29823f2..b66a4d8 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Share.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/icons/Share.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/AppBottomSheetNavigator.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/AppBottomSheetNavigator.kt index 4d7e8ec..396b0e0 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/AppBottomSheetNavigator.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/AppBottomSheetNavigator.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/NavigationHost.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/NavigationHost.kt index d07445e..204ddb5 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/NavigationHost.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/NavigationHost.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/ScreenRegistry.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/ScreenRegistry.kt index 5f078ee..c02e7b3 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/ScreenRegistry.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/navigation/ScreenRegistry.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/HandleIntent.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/HandleIntent.kt index 4f24365..94d7e73 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/HandleIntent.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/HandleIntent.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt index b32f13b..e702be2 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/Lifecycle.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/Lifecycle.kt index 8dd9cad..f7716e6 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/Lifecycle.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/platform/Lifecycle.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/AddToCollectionScreen.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/AddToCollectionScreen.kt index e6c5ead..6be4bc8 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/AddToCollectionScreen.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/AddToCollectionScreen.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/ChooseCollectionBottomSheet.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/ChooseCollectionBottomSheet.kt index 62db398..e2065ad 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/ChooseCollectionBottomSheet.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/ChooseCollectionBottomSheet.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/CreateCollectionBottomSheet.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/CreateCollectionBottomSheet.kt index a25315e..fdd55b5 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/CreateCollectionBottomSheet.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/addtocollection/CreateCollectionBottomSheet.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/bartender/BartenderScreen.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/bartender/BartenderScreen.kt index 317c893..360ac50 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/bartender/BartenderScreen.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/bartender/BartenderScreen.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/bartender/ShakeCocktailButton.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/bartender/ShakeCocktailButton.kt index 06e7b86..5d6df62 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/bartender/ShakeCocktailButton.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/bartender/ShakeCocktailButton.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collection/CollectionScreen.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collection/CollectionScreen.kt index f36f9cc..77feadd 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collection/CollectionScreen.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collection/CollectionScreen.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collectionlist/CollectionGrid.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collectionlist/CollectionGrid.kt index 8adedc3..12d6fc9 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collectionlist/CollectionGrid.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collectionlist/CollectionGrid.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collectionlist/CollectionListScreen.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collectionlist/CollectionListScreen.kt index b3defba..37d9a22 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collectionlist/CollectionListScreen.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/collectionlist/CollectionListScreen.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/discovery/DiscoveryScreen.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/discovery/DiscoveryScreen.kt index 2e99e6d..84c7a42 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/discovery/DiscoveryScreen.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/discovery/DiscoveryScreen.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drink/CollectionBanner.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drink/CollectionBanner.kt index 4b11a10..1783b7e 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drink/CollectionBanner.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drink/CollectionBanner.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drink/DrinkScreen.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drink/DrinkScreen.kt index 9ae3e08..7e7889a 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drink/DrinkScreen.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drink/DrinkScreen.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drinklist/DrinkList.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drinklist/DrinkList.kt index ef67eed..f7de124 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drinklist/DrinkList.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/drinklist/DrinkList.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/generateddrinks/GeneratedDrinksScreen.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/generateddrinks/GeneratedDrinksScreen.kt index 170c2f2..e06ba03 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/generateddrinks/GeneratedDrinksScreen.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/generateddrinks/GeneratedDrinksScreen.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/parameterizeddrinklist/ParameterizedDrinkListScreen.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/parameterizeddrinklist/ParameterizedDrinkListScreen.kt index eedc65f..fb63f02 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/parameterizeddrinklist/ParameterizedDrinkListScreen.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/parameterizeddrinklist/ParameterizedDrinkListScreen.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/search/SearchScreen.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/search/SearchScreen.kt index b2cbae2..114e3ee 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/search/SearchScreen.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/search/SearchScreen.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/shaketodrink/ShakeToDrinkScreen.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/shaketodrink/ShakeToDrinkScreen.kt index 4bfe04e..00a752d 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/shaketodrink/ShakeToDrinkScreen.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/screen/shaketodrink/ShakeToDrinkScreen.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Color.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Color.kt index 8b03372..4666223 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Color.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Color.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Shape.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Shape.kt index 0ca7f4e..d1bdd76 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Shape.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Shape.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Theme.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Theme.kt index 8cf5b2d..cdca7d9 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Theme.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Theme.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Type.kt b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Type.kt index 9651314..038e5a4 100644 --- a/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Type.kt +++ b/ui/src/commonMain/kotlin/com/popalay/barnee/ui/theme/Type.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ui/src/iosMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt b/ui/src/iosMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt index ccd0b4f..5ae017f 100644 --- a/ui/src/iosMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt +++ b/ui/src/iosMain/kotlin/com/popalay/barnee/ui/platform/ImageLoader.kt @@ -1,5 +1,5 @@ /* - * Copyright (c) 2025 Denys Nykyforov + * Copyright (c) 2026 Denys Nykyforov * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal From ef034bffe38863a5ca793ac4b20b641b026357ef Mon Sep 17 00:00:00 2001 From: Denis Nykyforov Date: Sat, 14 Mar 2026 18:52:33 +0200 Subject: [PATCH 5/5] Bump app version to 1.5.0 Made-with: Cursor --- app/build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index a5b8c84..3fce1c0 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -36,7 +36,7 @@ android { minSdk = libs.versions.android.minSdk.get().toInt() targetSdk = libs.versions.android.targetSdk.get().toInt() versionCode = properties.getOrDefault("barnee.versioncode", 1).toString().toInt() - versionName = "1.4.0" + versionName = "1.5.0" signingConfigs { getByName("debug") {