Tell the DJ

Abierto Apto para principiantes
#25 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
72/100
Tipo de issue
Documentación
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
android, ios, kotlin, swift

Línea de trabajo

Comienza localizando las entradas de app-gallery en el repositorio skip.dev y compara su estructura con los detalles proporcionados de Tell the DJ. Añade la aplicación usando el nombre, la descripción, los enlaces a las tiendas, el Skip mode y la información de confirmación proporcionados; después, verifica que la página resultante se renderice correctamente.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

App name

Tell the DJ

Developer / publisher

Bart van Zeist

App Store URL

https://apps.apple.com/us/app/tell-the-dj/id1594097997

Play Store URL

https://play.google.com/store/apps/details?id=com.simpleappsfarm.tell_the_dj

One- or two-sentence description

Tell the DJ turns parties into shared playlists: guests scan a QR code to request songs, while hosts see requests ranked in real time and control what plays next. Available on iOS and Android, it is built from a shared Swift/SwiftUI codebase using SkipLite.

Skip mode

SkipLite (Swift transpiled to Kotlin)

Source repository (optional)

No response

Demonstration that the app is built with Skip

Snippet of my Package.swift

// swift-tools-version: 6.3
// This is a Skip (https://skip.tools) package,
// containing a Swift Package Manager project
// that will use the Skip build plugin to transpile the
// Swift Package, Sources, and Tests into an
// Android Gradle Project with Kotlin sources and JUnit tests.
import PackageDescription

let package = Package(
  name: "tell-the-dj",
  defaultLocalization: "en",
  platforms: [.iOS(.v17), .macOS(.v14), .tvOS(.v16), .watchOS(.v9), .macCatalyst(.v16)],
  products: [
    .library(name: "TellTheDJApp", type: .dynamic, targets: ["TellTheDJ"]),
    .library(name: "TellTheDJModel", targets: ["TellTheDJModel"]),
    .library(name: "TellTheDJWidget", targets: ["TellTheDJWidget"]),
  ],
  dependencies: [
    .package(url: "https://source.skip.tools/skip.git", .upToNextMajor(from: .init(1, 9, 2))),
    // Project-owned fork of skip-ui, pinned at upstream 1.59.0 (feature 049).
    //
    // Two reasons, both measured rather than assumed:
    //   1. Upstream sheets ignore the soft keyboard on Android. `contentWindowInsets` is zeroed and
    //      `PresentationRoot`'s `imePadding()` is gated on an internal `_isEdgeToEdge`, so a
    //      `.medium` sheet keeps its content in the bottom half of the screen while the keyboard
    //      covers that half — the email sign-in field was unreachable. Nothing at app level fixes
    //      it: `presentationDetents(_:selection:)` is a no-op on Android, and padding the content
    //      only squeezes it inside a fixed-height sheet (verified on-device, then reverted).
    //      Patched in `Sources/SkipUI/SkipUI/Layout/Presentation.swift`.
    //   2. 1.59.0 also fixes upstream the presentation scroll-axis / IntrinsicSize crash we had
    //      worked around locally (see `OptionEditorSheet`'s doc comment — it bit the value-row
    //      editors 4x).
    //
    // Fetched by URL, NOT by local path. A `.package(path: "../skip-ui")` builds only on the one
    // machine that happens to have the fork checked out beside this repo — it is not reproducible
    // on another checkout or in CI, and the failure is a resolve error rather than anything that
    // points at the cause (feature 049 T102). The branch is pushed; `Package.resolved` pins the
    // exact revision, so the branch reference does not make the build float.
    //
    // Revert to the upstream URL once the sheet/IME fix lands there.
    .package(url: "https://github.com/BPHvZ/skip-ui.git", branch: "fix/sheet-ime-insets"),
    .package(
      url: "https://source.skip.tools/skip-foundation.git", .upToNextMajor(from: .init(1, 4, 1))),
    .package(url: "https://source.skip.tools/skip-model.git", .upToNextMajor(from: .init(1, 7, 4))),
    .package(
      url: "https://github.com/DenDmitriev/DominantColors.git", .upToNextMajor(from: .init(1, 2, 2))
    ),
    .package(
      url: "https://github.com/google/GoogleSignIn-iOS.git", .upToNextMajor(from: .init(9, 1, 0))),
    .package(
      url: "https://github.com/twostraws/CodeScanner.git", .upToNextMajor(from: .init(2, 5, 2))),
    .package(path: "../skip-firebase"),
    .package(path: "../skip-spotify"),
    .package(path: "../skip-rive"),
    .package(path: "../skip-apple-music"),
    .package(path: "../skip-lottie"),
    .package(path: "../skip-shazam"),
    .package(path: "../skip-iap"),
    .package(path: "../skip-stripe"),
    .package(path: "../skip-chromecast"),
    .package(path: "../skip-admob"),
    .package(path: "../skip-activity-aware"),
    .package(path: "../skip-pdf"),
    .package(path: "../skip-tidal"),
  ],
Developer website (optional)

https://simpleappsfarm.com

Confirmations
  • The app is currently live on both the App Store and the Play Store (or I've noted in the description that one or both listings are pending).
  • I have permission to suggest this app for the gallery (developer, employee of the publishing company, or the suggestion comes from a publicly available source like a community announcement).
Lenguaje dominante
MDX
Estrellas
32
Forks
8
Métricas de merge de PR
Sin PR fusionados en 30 d

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de skiptools/skip.dev

Todos los issues de skiptools/skip.dev

Issues similares

Más issues de Content

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.