/** * --------------------------------------------------------------------------------- * This file has been generated by Sanity TypeGen. * Command: `sanity typegen generate` * * Any modifications made directly to this file will be overwritten the next time * the TypeScript definitions are generated. Please make changes to the Sanity * schema definitions and/or GROQ queries if you need to update these types. * * For more information on how to use Sanity TypeGen, visit the official documentation: * https://www.sanity.io/docs/sanity-typegen * --------------------------------------------------------------------------------- */ // Source: ../trptk-sanity/schema.json export type ReleaseReference = { _ref: string; _type: "reference"; _weak?: boolean; [internalGroqTypeReferenceTo]?: "release"; }; export type ArtistReference = { _ref: string; _type: "reference"; _weak?: boolean; [internalGroqTypeReferenceTo]?: "artist"; }; export type ComposerReference = { _ref: string; _type: "reference"; _weak?: boolean; [internalGroqTypeReferenceTo]?: "composer"; }; export type Settings = { _id: string; _type: "settings"; _createdAt: string; _updatedAt: string; _rev: string; title?: string; featuredAlbum?: ReleaseReference; featuredArtist?: ArtistReference; featuredComposer?: ComposerReference; }; export type SanityImageAssetReference = { _ref: string; _type: "reference"; _weak?: boolean; [internalGroqTypeReferenceTo]?: "sanity.imageAsset"; }; export type SanityFileAssetReference = { _ref: string; _type: "reference"; _weak?: boolean; [internalGroqTypeReferenceTo]?: "sanity.fileAsset"; }; export type WorkReference = { _ref: string; _type: "reference"; _weak?: boolean; [internalGroqTypeReferenceTo]?: "work"; }; export type Release = { _id: string; _type: "release"; _createdAt: string; _updatedAt: string; _rev: string; name?: string; albumArtist?: string; catalogNo?: string; slug?: Slug; upc?: string; releaseDate?: string; format?: "single" | "ep" | "album" | "boxset"; label?: "TRPTK" | "other"; shortDescription?: string; description?: Array<{ children?: Array<{ marks?: Array; text?: string; _type: "span"; _key: string; }>; style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote"; listItem?: "bullet" | "number"; markDefs?: Array<{ href?: string; _type: "link"; _key: string; }>; level?: number; _type: "block"; _key: string; }>; albumCover?: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; }; bookletPdf?: { asset?: SanityFileAssetReference; media?: unknown; _type: "file"; }; tracks?: Array<{ work?: WorkReference; movement?: string; displayTitle?: string; artist?: string; duration?: string; previewMp3?: { asset?: SanityFileAssetReference; media?: unknown; _type: "file"; }; _type: "track"; _key: string; }>; officialUrl?: string; spotifyUrl?: string; appleMusicUrl?: string; deezerUrl?: string; amazonMusicUrl?: string; tidalUrl?: string; qobuzUrl?: string; nativeDsdUrl?: string; credits?: Array<{ role?: string; name?: string; _type: "credit"; _key: string; }>; recordingDate?: string; recordingLocation?: string; recordingFormat?: "PCM 352.8 kHz 24 bit" | "PCM 352.8 kHz 32 bit" | "DSD 11.2 MHz 1 bit"; masteringFormat?: "PCM 352.8 kHz 32 bit" | "PCM 352.8 kHz 64 bit" | "DSD 11.2 MHz 1 bit"; equipment?: Array<{ type?: string; name?: string; _type: "equipmentItem"; _key: string; }>; genre?: Array< | "earlyMusic" | "baroque" | "classical" | "romantic" | "contemporary" | "worldMusic" | "jazz" | "crossover" | "electronic" | "minimal" | "popRock" >; instrumentation?: Array<"solo" | "chamber" | "ensemble" | "orchestra" | "vocalChoral">; artists?: Array< { _key: string; } & ArtistReference >; reviews?: Array<{ quote?: string; author?: string; _type: "review"; _key: string; }>; availableVariants?: Array; }; export type SanityImageCrop = { _type: "sanity.imageCrop"; top?: number; bottom?: number; left?: number; right?: number; }; export type SanityImageHotspot = { _type: "sanity.imageHotspot"; x?: number; y?: number; height?: number; width?: number; }; export type Slug = { _type: "slug"; current?: string; source?: string; }; export type Work = { _id: string; _type: "work"; _createdAt: string; _updatedAt: string; _rev: string; title?: string; composer?: ComposerReference; arranger?: ComposerReference; slug?: Slug; description?: Array<{ children?: Array<{ marks?: Array; text?: string; _type: "span"; _key: string; }>; style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote"; listItem?: "bullet" | "number"; markDefs?: Array<{ href?: string; _type: "link"; _key: string; }>; level?: number; _type: "block"; _key: string; }>; }; export type Concert = { _id: string; _type: "concert"; _createdAt: string; _updatedAt: string; _rev: string; title?: string; subtitle?: string; date?: string; time?: string; locationName?: string; city?: string; country?: | "AF" | "AL" | "DZ" | "AD" | "AO" | "AG" | "AR" | "AM" | "AU" | "AT" | "AZ" | "BS" | "BH" | "BD" | "BB" | "BY" | "BE" | "BZ" | "BJ" | "BT" | "BO" | "BA" | "BW" | "BR" | "BN" | "BG" | "BF" | "BI" | "CV" | "KH" | "CM" | "CA" | "CF" | "TD" | "CL" | "CN" | "CO" | "KM" | "CD" | "CG" | "CR" | "HR" | "CU" | "CY" | "CZ" | "DK" | "DJ" | "DM" | "DO" | "EC" | "EG" | "SV" | "GQ" | "ER" | "EE" | "SZ" | "ET" | "FJ" | "FI" | "FR" | "GA" | "GM" | "GE" | "DE" | "GH" | "GR" | "GD" | "GT" | "GN" | "GW" | "GY" | "HT" | "HN" | "HU" | "IS" | "IN" | "ID" | "IR" | "IQ" | "IE" | "IL" | "IT" | "CI" | "JM" | "JP" | "JO" | "KZ" | "KE" | "KI" | "XK" | "KW" | "KG" | "LA" | "LV" | "LB" | "LS" | "LR" | "LY" | "LI" | "LT" | "LU" | "MG" | "MW" | "MY" | "MV" | "ML" | "MT" | "MH" | "MR" | "MU" | "MX" | "FM" | "MD" | "MC" | "MN" | "ME" | "MA" | "MZ" | "MM" | "NA" | "NR" | "NP" | "NL" | "NZ" | "NI" | "NE" | "NG" | "KP" | "MK" | "NO" | "OM" | "PK" | "PW" | "PS" | "PA" | "PG" | "PY" | "PE" | "PH" | "PL" | "PT" | "QA" | "RO" | "RU" | "RW" | "KN" | "LC" | "VC" | "WS" | "SM" | "ST" | "SA" | "SN" | "RS" | "SC" | "SL" | "SG" | "SK" | "SI" | "SB" | "SO" | "ZA" | "KR" | "SS" | "ES" | "LK" | "SD" | "SR" | "SE" | "CH" | "SY" | "TW" | "TJ" | "TZ" | "TH" | "TL" | "TG" | "TO" | "TT" | "TN" | "TR" | "TM" | "TV" | "UG" | "UA" | "AE" | "GB" | "US" | "UY" | "UZ" | "VU" | "VA" | "VE" | "VN" | "YE" | "ZM" | "ZW"; artists?: Array< { _key: string; } & ArtistReference >; ticketUrl?: string; }; export type Composer = { _id: string; _type: "composer"; _createdAt: string; _updatedAt: string; _rev: string; name?: string; sortKey?: string; birthYear?: number; deathYear?: number; slug?: Slug; image?: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; }; bio?: Array<{ children?: Array<{ marks?: Array; text?: string; _type: "span"; _key: string; }>; style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote"; listItem?: "bullet" | "number"; markDefs?: Array<{ href?: string; _type: "link"; _key: string; }>; level?: number; _type: "block"; _key: string; }>; }; export type Blog = { _id: string; _type: "blog"; _createdAt: string; _updatedAt: string; _rev: string; title?: string; subtitle?: string; featuredImage?: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; }; slug?: Slug; author?: "Brendon Heinst" | "Maya Fridman"; publishDate?: string; category?: "News" | "Behind the Scenes" | "Music History" | "Tech Talk"; content?: Array< | { children?: Array<{ marks?: Array; text?: string; _type: "span"; _key: string; }>; style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote"; listItem?: "bullet" | "number"; markDefs?: Array<{ href?: string; _type: "link"; _key: string; }>; level?: number; _type: "block"; _key: string; } | { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; alt?: string; caption?: string; _type: "image"; _key: string; } | { url?: string; _type: "youtube"; _key: string; } >; releases?: Array< { _key: string; } & ReleaseReference >; artists?: Array< { _key: string; } & ArtistReference >; composers?: Array< { _key: string; } & ComposerReference >; works?: Array< { _key: string; } & WorkReference >; }; export type Artist = { _id: string; _type: "artist"; _createdAt: string; _updatedAt: string; _rev: string; name?: string; sortKey?: string; slug?: Slug; role?: string; image?: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; }; bio?: Array<{ children?: Array<{ marks?: Array; text?: string; _type: "span"; _key: string; }>; style?: "normal" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "blockquote"; listItem?: "bullet" | "number"; markDefs?: Array<{ href?: string; _type: "link"; _key: string; }>; level?: number; _type: "block"; _key: string; }>; }; export type MediaTag = { _id: string; _type: "media.tag"; _createdAt: string; _updatedAt: string; _rev: string; name?: Slug; }; export type SanityImagePaletteSwatch = { _type: "sanity.imagePaletteSwatch"; background?: string; foreground?: string; population?: number; title?: string; }; export type SanityImagePalette = { _type: "sanity.imagePalette"; darkMuted?: SanityImagePaletteSwatch; lightVibrant?: SanityImagePaletteSwatch; darkVibrant?: SanityImagePaletteSwatch; vibrant?: SanityImagePaletteSwatch; dominant?: SanityImagePaletteSwatch; lightMuted?: SanityImagePaletteSwatch; muted?: SanityImagePaletteSwatch; }; export type SanityImageDimensions = { _type: "sanity.imageDimensions"; height?: number; width?: number; aspectRatio?: number; }; export type SanityImageMetadata = { _type: "sanity.imageMetadata"; location?: Geopoint; dimensions?: SanityImageDimensions; palette?: SanityImagePalette; lqip?: string; blurHash?: string; thumbHash?: string; hasAlpha?: boolean; isOpaque?: boolean; }; export type SanityFileAsset = { _id: string; _type: "sanity.fileAsset"; _createdAt: string; _updatedAt: string; _rev: string; originalFilename?: string; label?: string; title?: string; description?: string; altText?: string; sha1hash?: string; extension?: string; mimeType?: string; size?: number; assetId?: string; uploadId?: string; path?: string; url?: string; source?: SanityAssetSourceData; }; export type SanityAssetSourceData = { _type: "sanity.assetSourceData"; name?: string; id?: string; url?: string; }; export type SanityImageAsset = { _id: string; _type: "sanity.imageAsset"; _createdAt: string; _updatedAt: string; _rev: string; originalFilename?: string; label?: string; title?: string; description?: string; altText?: string; sha1hash?: string; extension?: string; mimeType?: string; size?: number; assetId?: string; uploadId?: string; path?: string; url?: string; metadata?: SanityImageMetadata; source?: SanityAssetSourceData; }; export type Geopoint = { _type: "geopoint"; lat?: number; lng?: number; alt?: number; }; export type AllSanitySchemaTypes = | ReleaseReference | ArtistReference | ComposerReference | Settings | SanityImageAssetReference | SanityFileAssetReference | WorkReference | Release | SanityImageCrop | SanityImageHotspot | Slug | Work | Concert | Composer | Blog | Artist | MediaTag | SanityImagePaletteSwatch | SanityImagePalette | SanityImageDimensions | SanityImageMetadata | SanityFileAsset | SanityAssetSourceData | SanityImageAsset | Geopoint; export declare const internalGroqTypeReferenceTo: unique symbol; // Source: app/[slug]/page.tsx // Variable: RELEASE_BY_CATALOG_NO_QUERY // Query: *[_type == "release" && lower(catalogNo) == $slug][0]{ name, albumArtist, label, catalogNo, albumCover, officialUrl, spotifyUrl, appleMusicUrl, deezerUrl, amazonMusicUrl, tidalUrl, qobuzUrl,} export type RELEASE_BY_CATALOG_NO_QUERY_RESULT = { name: string | null; albumArtist: string | null; label: "other" | "TRPTK" | null; catalogNo: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; officialUrl: string | null; spotifyUrl: string | null; appleMusicUrl: string | null; deezerUrl: string | null; amazonMusicUrl: string | null; tidalUrl: string | null; qobuzUrl: string | null; } | null; // Source: app/[slug]/page.tsx // Variable: RELEASE_CATALOG_SLUGS_QUERY // Query: *[_type == "release" && defined(catalogNo)][]{ "slug": lower(catalogNo) } export type RELEASE_CATALOG_SLUGS_QUERY_RESULT = Array<{ slug: string; }>; // Source: app/api/account/downloads/route.ts // Variable: RELEASES_BY_CATALOG_NOS_QUERY // Query: *[_type == "release" && catalogNo in $catalogNos]{ catalogNo, name, albumArtist, "slug": slug.current, albumCover, releaseDate, genre, instrumentation} export type RELEASES_BY_CATALOG_NOS_QUERY_RESULT = Array<{ catalogNo: string | null; name: string | null; albumArtist: string | null; slug: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; releaseDate: string | null; genre: Array< | "baroque" | "classical" | "contemporary" | "crossover" | "earlyMusic" | "electronic" | "jazz" | "minimal" | "popRock" | "romantic" | "worldMusic" > | null; instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null; }>; // Source: app/artist/[slug]/page.tsx // Variable: ARTIST_DETAIL_QUERY // Query: *[_type == "artist" && slug.current == $slug][0]{ name, role, "slug": slug.current, bio, image, "releases": *[ _type == "release" && references(^._id) ] | order(releaseDate desc, catalogNo desc) { _id, name, albumArtist, catalogNo, "slug": slug.current, releaseDate, albumCover, genre, instrumentation }, "upcomingConcerts": *[ _type == "concert" && references(^._id) && date >= $today ] | order(date asc, time asc) { _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}, "pastConcerts": *[ _type == "concert" && references(^._id) && date < $today ] | order(date desc, time desc) { _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}} export type ARTIST_DETAIL_QUERY_RESULT = { name: string | null; role: string | null; slug: string | null; bio: Array<{ children?: Array<{ marks?: Array; text?: string; _type: "span"; _key: string; }>; style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal"; listItem?: "bullet" | "number"; markDefs?: Array<{ href?: string; _type: "link"; _key: string; }>; level?: number; _type: "block"; _key: string; }> | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; releases: Array<{ _id: string; name: string | null; albumArtist: string | null; catalogNo: string | null; slug: string | null; releaseDate: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; genre: Array< | "baroque" | "classical" | "contemporary" | "crossover" | "earlyMusic" | "electronic" | "jazz" | "minimal" | "popRock" | "romantic" | "worldMusic" > | null; instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null; }>; upcomingConcerts: Array<{ _id: string; title: string | null; subtitle: string | null; date: string | null; time: string | null; locationName: string | null; city: string | null; country: | "AD" | "AE" | "AF" | "AG" | "AL" | "AM" | "AO" | "AR" | "AT" | "AU" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BN" | "BO" | "BR" | "BS" | "BT" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FM" | "FR" | "GA" | "GB" | "GD" | "GE" | "GH" | "GM" | "GN" | "GQ" | "GR" | "GT" | "GW" | "GY" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IN" | "IQ" | "IR" | "IS" | "IT" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MR" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NZ" | "OM" | "PA" | "PE" | "PG" | "PH" | "PK" | "PL" | "PS" | "PT" | "PW" | "PY" | "QA" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SI" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SY" | "SZ" | "TD" | "TG" | "TH" | "TJ" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VN" | "VU" | "WS" | "XK" | "YE" | "ZA" | "ZM" | "ZW" | null; artists: Array<{ _id: string; name: string | null; slug: string | null; }> | null; ticketUrl: string | null; }>; pastConcerts: Array<{ _id: string; title: string | null; subtitle: string | null; date: string | null; time: string | null; locationName: string | null; city: string | null; country: | "AD" | "AE" | "AF" | "AG" | "AL" | "AM" | "AO" | "AR" | "AT" | "AU" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BN" | "BO" | "BR" | "BS" | "BT" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FM" | "FR" | "GA" | "GB" | "GD" | "GE" | "GH" | "GM" | "GN" | "GQ" | "GR" | "GT" | "GW" | "GY" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IN" | "IQ" | "IR" | "IS" | "IT" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MR" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NZ" | "OM" | "PA" | "PE" | "PG" | "PH" | "PK" | "PL" | "PS" | "PT" | "PW" | "PY" | "QA" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SI" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SY" | "SZ" | "TD" | "TG" | "TH" | "TJ" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VN" | "VU" | "WS" | "XK" | "YE" | "ZA" | "ZM" | "ZW" | null; artists: Array<{ _id: string; name: string | null; slug: string | null; }> | null; ticketUrl: string | null; }>; } | null; // Source: app/artist/[slug]/page.tsx // Variable: ARTIST_SLUGS_QUERY // Query: *[_type == "artist" && defined(slug.current)]{ "slug": slug.current } export type ARTIST_SLUGS_QUERY_RESULT = Array<{ slug: string | null; }>; // Source: app/artists/page.tsx // Variable: ARTISTS_BY_NAME_QUERY // Query: *[ _type == "artist" && ( $q == "" || name match $qPattern || role match $qPattern )]| order(lower(name) asc)[$start...$end]{ _id, name, role, "slug": slug.current, image} export type ARTISTS_BY_NAME_QUERY_RESULT = Array<{ _id: string; name: string | null; role: string | null; slug: string | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/artists/page.tsx // Variable: ARTISTS_BY_SORT_KEY_QUERY // Query: *[ _type == "artist" && ( $q == "" || name match $qPattern || role match $qPattern )]| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)[$start...$end]{ _id, name, role, "slug": slug.current, image} export type ARTISTS_BY_SORT_KEY_QUERY_RESULT = Array<{ _id: string; name: string | null; role: string | null; slug: string | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/artists/page.tsx // Variable: ARTISTS_COUNT_QUERY // Query: count(*[ _type == "artist" && ( $q == "" || name match $qPattern || role match $qPattern )]) export type ARTISTS_COUNT_QUERY_RESULT = number; // Source: app/blog/(archive)/page.tsx // Variable: BLOGS_BY_DATE_DESC_QUERY // Query: *[ _type == "blog" &&( $q == "" || title match $qPattern || subtitle match $qPattern || author match $qPattern) &&(count($categories) == 0 || category in $categories)]| order(coalesce(publishDate, "0000-01-01") desc, lower(title) asc)[$start...$end]{ _id, title, subtitle, author, publishDate, category, "slug": slug.current, featuredImage} export type BLOGS_BY_DATE_DESC_QUERY_RESULT = Array<{ _id: string; title: string | null; subtitle: string | null; author: "Brendon Heinst" | "Maya Fridman" | null; publishDate: string | null; category: "Behind the Scenes" | "Music History" | "News" | "Tech Talk" | null; slug: string | null; featuredImage: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/blog/(archive)/page.tsx // Variable: BLOGS_BY_DATE_ASC_QUERY // Query: *[ _type == "blog" &&( $q == "" || title match $qPattern || subtitle match $qPattern || author match $qPattern) &&(count($categories) == 0 || category in $categories)]| order(coalesce(publishDate, "9999-12-31") asc, lower(title) asc)[$start...$end]{ _id, title, subtitle, author, publishDate, category, "slug": slug.current, featuredImage} export type BLOGS_BY_DATE_ASC_QUERY_RESULT = Array<{ _id: string; title: string | null; subtitle: string | null; author: "Brendon Heinst" | "Maya Fridman" | null; publishDate: string | null; category: "Behind the Scenes" | "Music History" | "News" | "Tech Talk" | null; slug: string | null; featuredImage: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/blog/(archive)/page.tsx // Variable: BLOGS_COUNT_QUERY // Query: count(*[ _type == "blog" &&( $q == "" || title match $qPattern || subtitle match $qPattern || author match $qPattern) &&(count($categories) == 0 || category in $categories)]) export type BLOGS_COUNT_QUERY_RESULT = number; // Source: app/blog/[slug]/page.tsx // Variable: BLOG_DETAIL_QUERY // Query: *[_type == "blog" && slug.current == $slug][0]{ title, subtitle, "slug": slug.current, author, publishDate, category, featuredImage, content[]{ ..., _type == "image" => { ..., asset-> } }, "releases": releases[]->{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover }, "artists": artists[]->{ _id, name, role, "slug": slug.current, image }, "composers": composers[]->{ _id, name, sortKey, "slug": slug.current, birthYear, deathYear, image }} export type BLOG_DETAIL_QUERY_RESULT = { title: string | null; subtitle: string | null; slug: string | null; author: "Brendon Heinst" | "Maya Fridman" | null; publishDate: string | null; category: "Behind the Scenes" | "Music History" | "News" | "Tech Talk" | null; featuredImage: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; content: Array< | { children?: Array<{ marks?: Array; text?: string; _type: "span"; _key: string; }>; style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal"; listItem?: "bullet" | "number"; markDefs?: Array<{ href?: string; _type: "link"; _key: string; }>; level?: number; _type: "block"; _key: string; } | { asset: { _id: string; _type: "sanity.imageAsset"; _createdAt: string; _updatedAt: string; _rev: string; originalFilename?: string; label?: string; title?: string; description?: string; altText?: string; sha1hash?: string; extension?: string; mimeType?: string; size?: number; assetId?: string; uploadId?: string; path?: string; url?: string; metadata?: SanityImageMetadata; source?: SanityAssetSourceData; } | null; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; alt?: string; caption?: string; _type: "image"; _key: string; } | { url?: string; _type: "youtube"; _key: string; } > | null; releases: Array<{ _id: string; name: string | null; albumArtist: string | null; catalogNo: string | null; releaseDate: string | null; slug: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }> | null; artists: Array<{ _id: string; name: string | null; role: string | null; slug: string | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }> | null; composers: Array<{ _id: string; name: string | null; sortKey: string | null; slug: string | null; birthYear: number | null; deathYear: number | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }> | null; } | null; // Source: app/blog/[slug]/page.tsx // Variable: BLOG_SLUGS_QUERY // Query: *[_type == "blog" && defined(slug.current)]{ "slug": slug.current } export type BLOG_SLUGS_QUERY_RESULT = Array<{ slug: string | null; }>; // Source: app/composer/[slug]/page.tsx // Variable: COMPOSER_DETAIL_QUERY // Query: *[_type == "composer" && slug.current == $slug][0]{ name, birthYear, deathYear, "slug": slug.current, bio, image, "releases": *[ _type == "release" && count(tracks[work->composer->slug.current == $slug]) > 0 ] | order(releaseDate desc, catalogNo desc) { _id, name, albumArtist, catalogNo, "slug": slug.current, releaseDate, albumCover, genre, instrumentation }, "composedWorks": *[ _type == "work" && composer->slug.current == $slug ] | order(title asc, defined(arranger) asc, arranger->name asc) { title, "slug": slug.current, "arrangerName": arranger->name }, "arrangedWorks": *[ _type == "work" && arranger->slug.current == $slug ] | order(coalesce(composer->sortKey, composer->name) asc, title asc) { title, "slug": slug.current, "originalComposerName": composer->name, "originalComposerSortKey": composer->sortKey }} export type COMPOSER_DETAIL_QUERY_RESULT = { name: string | null; birthYear: number | null; deathYear: number | null; slug: string | null; bio: Array<{ children?: Array<{ marks?: Array; text?: string; _type: "span"; _key: string; }>; style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal"; listItem?: "bullet" | "number"; markDefs?: Array<{ href?: string; _type: "link"; _key: string; }>; level?: number; _type: "block"; _key: string; }> | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; releases: Array<{ _id: string; name: string | null; albumArtist: string | null; catalogNo: string | null; slug: string | null; releaseDate: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; genre: Array< | "baroque" | "classical" | "contemporary" | "crossover" | "earlyMusic" | "electronic" | "jazz" | "minimal" | "popRock" | "romantic" | "worldMusic" > | null; instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null; }>; composedWorks: Array<{ title: string | null; slug: string | null; arrangerName: string | null; }>; arrangedWorks: Array<{ title: string | null; slug: string | null; originalComposerName: string | null; originalComposerSortKey: string | null; }>; } | null; // Source: app/composer/[slug]/page.tsx // Variable: COMPOSER_SLUGS_QUERY // Query: *[_type == "composer" && defined(slug.current)]{ "slug": slug.current } export type COMPOSER_SLUGS_QUERY_RESULT = Array<{ slug: string | null; }>; // Source: app/composers/page.tsx // Variable: COMPOSERS_BY_NAME_QUERY // Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image} export type COMPOSERS_BY_NAME_QUERY_RESULT = Array<{ _id: string; name: string | null; birthYear: number | null; deathYear: number | null; slug: string | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/composers/page.tsx // Variable: COMPOSERS_BY_SORT_KEY_QUERY // Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image} export type COMPOSERS_BY_SORT_KEY_QUERY_RESULT = Array<{ _id: string; name: string | null; birthYear: number | null; deathYear: number | null; slug: string | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/composers/page.tsx // Variable: COMPOSERS_BY_BIRTH_YEAR_ASC_QUERY // Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(coalesce(birthYear, 999999) asc, lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image} export type COMPOSERS_BY_BIRTH_YEAR_ASC_QUERY_RESULT = Array<{ _id: string; name: string | null; birthYear: number | null; deathYear: number | null; slug: string | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/composers/page.tsx // Variable: COMPOSERS_BY_BIRTH_YEAR_DESC_QUERY // Query: *[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]| order(coalesce(birthYear, -999999) desc, lower(name) asc)[$start...$end]{ _id, name, birthYear, deathYear, "slug": slug.current, image} export type COMPOSERS_BY_BIRTH_YEAR_DESC_QUERY_RESULT = Array<{ _id: string; name: string | null; birthYear: number | null; deathYear: number | null; slug: string | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/composers/page.tsx // Variable: COMPOSERS_COUNT_QUERY // Query: count(*[ _type == "composer" &&( $q == "" || name match $qPattern || role match $qPattern)]) export type COMPOSERS_COUNT_QUERY_RESULT = number; // Source: app/concerts/page.tsx // Variable: UPCOMING_CONCERTS_QUERY // Query: *[_type == "concert" && date >= $today]{ _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}| order(date asc, time asc) export type UPCOMING_CONCERTS_QUERY_RESULT = Array<{ _id: string; title: string | null; subtitle: string | null; date: string | null; time: string | null; locationName: string | null; city: string | null; country: | "AD" | "AE" | "AF" | "AG" | "AL" | "AM" | "AO" | "AR" | "AT" | "AU" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BN" | "BO" | "BR" | "BS" | "BT" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FM" | "FR" | "GA" | "GB" | "GD" | "GE" | "GH" | "GM" | "GN" | "GQ" | "GR" | "GT" | "GW" | "GY" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IN" | "IQ" | "IR" | "IS" | "IT" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MR" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NZ" | "OM" | "PA" | "PE" | "PG" | "PH" | "PK" | "PL" | "PS" | "PT" | "PW" | "PY" | "QA" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SI" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SY" | "SZ" | "TD" | "TG" | "TH" | "TJ" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VN" | "VU" | "WS" | "XK" | "YE" | "ZA" | "ZM" | "ZW" | null; artists: Array<{ _id: string; name: string | null; slug: string | null; }> | null; ticketUrl: string | null; }>; // Source: app/concerts/page.tsx // Variable: PAST_CONCERTS_QUERY // Query: *[_type == "concert" && date < $today]{ _id, title, subtitle, date, time, locationName, city, country, "artists": artists[]->{ _id, name, "slug": slug.current }, ticketUrl}| order(date desc, time desc) export type PAST_CONCERTS_QUERY_RESULT = Array<{ _id: string; title: string | null; subtitle: string | null; date: string | null; time: string | null; locationName: string | null; city: string | null; country: | "AD" | "AE" | "AF" | "AG" | "AL" | "AM" | "AO" | "AR" | "AT" | "AU" | "AZ" | "BA" | "BB" | "BD" | "BE" | "BF" | "BG" | "BH" | "BI" | "BJ" | "BN" | "BO" | "BR" | "BS" | "BT" | "BW" | "BY" | "BZ" | "CA" | "CD" | "CF" | "CG" | "CH" | "CI" | "CL" | "CM" | "CN" | "CO" | "CR" | "CU" | "CV" | "CY" | "CZ" | "DE" | "DJ" | "DK" | "DM" | "DO" | "DZ" | "EC" | "EE" | "EG" | "ER" | "ES" | "ET" | "FI" | "FJ" | "FM" | "FR" | "GA" | "GB" | "GD" | "GE" | "GH" | "GM" | "GN" | "GQ" | "GR" | "GT" | "GW" | "GY" | "HN" | "HR" | "HT" | "HU" | "ID" | "IE" | "IL" | "IN" | "IQ" | "IR" | "IS" | "IT" | "JM" | "JO" | "JP" | "KE" | "KG" | "KH" | "KI" | "KM" | "KN" | "KP" | "KR" | "KW" | "KZ" | "LA" | "LB" | "LC" | "LI" | "LK" | "LR" | "LS" | "LT" | "LU" | "LV" | "LY" | "MA" | "MC" | "MD" | "ME" | "MG" | "MH" | "MK" | "ML" | "MM" | "MN" | "MR" | "MT" | "MU" | "MV" | "MW" | "MX" | "MY" | "MZ" | "NA" | "NE" | "NG" | "NI" | "NL" | "NO" | "NP" | "NR" | "NZ" | "OM" | "PA" | "PE" | "PG" | "PH" | "PK" | "PL" | "PS" | "PT" | "PW" | "PY" | "QA" | "RO" | "RS" | "RU" | "RW" | "SA" | "SB" | "SC" | "SD" | "SE" | "SG" | "SI" | "SK" | "SL" | "SM" | "SN" | "SO" | "SR" | "SS" | "ST" | "SV" | "SY" | "SZ" | "TD" | "TG" | "TH" | "TJ" | "TL" | "TM" | "TN" | "TO" | "TR" | "TT" | "TV" | "TW" | "TZ" | "UA" | "UG" | "US" | "UY" | "UZ" | "VA" | "VC" | "VE" | "VN" | "VU" | "WS" | "XK" | "YE" | "ZA" | "ZM" | "ZW" | null; artists: Array<{ _id: string; name: string | null; slug: string | null; }> | null; ticketUrl: string | null; }>; // Source: app/release/[slug]/booklet/route.ts // Variable: BOOKLET_URL_QUERY // Query: *[_type == "release" && slug.current == $slug][0]{ "bookletPdfUrl": bookletPdf.asset->url} export type BOOKLET_URL_QUERY_RESULT = { bookletPdfUrl: string | null; } | null; // Source: app/release/[slug]/page.tsx // Variable: RELEASE_DETAIL_QUERY // Query: *[_type == "release" && slug.current == $slug][0]{ name, albumArtist, label, catalogNo, upc, "slug": slug.current, releaseDate, shortDescription, description, albumCover, "artists": artists[]->{ _id, name, role, "slug": slug.current, image }, "composers": tracks[].work->composer->{ _id, name, sortKey, "slug": slug.current, birthYear, deathYear, image }, "arrangers": tracks[].work->arranger->{ _id, name, sortKey, "slug": slug.current, birthYear, deathYear, image }, tracks[]{ "workId": work->_id, "workTitle": work->title, "composerName": work->composer->name, "arrangerName": work->arranger->name, movement, displayTitle, duration, artist, "previewMp3Url": previewMp3.asset->url }, reviews[]{ quote, author }, credits[]{ role, name }, recordingDate, recordingLocation, recordingFormat, masteringFormat, "bookletPdfUrl": bookletPdf.asset->url, equipment[]{ type, name }} export type RELEASE_DETAIL_QUERY_RESULT = { name: string | null; albumArtist: string | null; label: "other" | "TRPTK" | null; catalogNo: string | null; upc: string | null; slug: string | null; releaseDate: string | null; shortDescription: string | null; description: Array<{ children?: Array<{ marks?: Array; text?: string; _type: "span"; _key: string; }>; style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal"; listItem?: "bullet" | "number"; markDefs?: Array<{ href?: string; _type: "link"; _key: string; }>; level?: number; _type: "block"; _key: string; }> | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; artists: Array<{ _id: string; name: string | null; role: string | null; slug: string | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }> | null; composers: Array<{ _id: string; name: string | null; sortKey: string | null; slug: string | null; birthYear: number | null; deathYear: number | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; } | null> | null; arrangers: Array<{ _id: string; name: string | null; sortKey: string | null; slug: string | null; birthYear: number | null; deathYear: number | null; image: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; } | null> | null; tracks: Array<{ workId: string | null; workTitle: string | null; composerName: string | null; arrangerName: string | null; movement: string | null; displayTitle: string | null; duration: string | null; artist: string | null; previewMp3Url: string | null; }> | null; reviews: Array<{ quote: string | null; author: string | null; }> | null; credits: Array<{ role: string | null; name: string | null; }> | null; recordingDate: string | null; recordingLocation: string | null; recordingFormat: "DSD 11.2 MHz 1 bit" | "PCM 352.8 kHz 24 bit" | "PCM 352.8 kHz 32 bit" | null; masteringFormat: "DSD 11.2 MHz 1 bit" | "PCM 352.8 kHz 32 bit" | "PCM 352.8 kHz 64 bit" | null; bookletPdfUrl: string | null; equipment: Array<{ type: string | null; name: string | null; }> | null; } | null; // Source: app/release/[slug]/page.tsx // Variable: RELEASE_SLUGS_QUERY // Query: *[_type == "release" && defined(slug.current)]{ "slug": slug.current } export type RELEASE_SLUGS_QUERY_RESULT = Array<{ slug: string | null; }>; // Source: app/releases/page.tsx // Variable: RELEASES_BY_TITLE_ASC_QUERY // Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover} export type RELEASES_BY_TITLE_ASC_QUERY_RESULT = Array<{ _id: string; name: string | null; albumArtist: string | null; catalogNo: string | null; releaseDate: string | null; slug: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/releases/page.tsx // Variable: RELEASES_BY_TITLE_DESC_QUERY // Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(name) desc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover} export type RELEASES_BY_TITLE_DESC_QUERY_RESULT = Array<{ _id: string; name: string | null; albumArtist: string | null; catalogNo: string | null; releaseDate: string | null; slug: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/releases/page.tsx // Variable: RELEASES_BY_CATALOG_NO_ASC_QUERY // Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(catalogNo) asc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover} export type RELEASES_BY_CATALOG_NO_ASC_QUERY_RESULT = Array<{ _id: string; name: string | null; albumArtist: string | null; catalogNo: string | null; releaseDate: string | null; slug: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/releases/page.tsx // Variable: RELEASES_BY_CATALOG_NO_DESC_QUERY // Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(lower(catalogNo) desc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover} export type RELEASES_BY_CATALOG_NO_DESC_QUERY_RESULT = Array<{ _id: string; name: string | null; albumArtist: string | null; catalogNo: string | null; releaseDate: string | null; slug: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/releases/page.tsx // Variable: RELEASES_BY_DATE_ASC_QUERY // Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(coalesce(releaseDate, "9999-12-31") asc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover} export type RELEASES_BY_DATE_ASC_QUERY_RESULT = Array<{ _id: string; name: string | null; albumArtist: string | null; catalogNo: string | null; releaseDate: string | null; slug: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/releases/page.tsx // Variable: RELEASES_BY_DATE_DESC_QUERY // Query: *[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]| order(coalesce(releaseDate, "0000-01-01") desc, lower(name) asc)[$start...$end]{ _id, name, albumArtist, catalogNo, releaseDate, "slug": slug.current, albumCover} export type RELEASES_BY_DATE_DESC_QUERY_RESULT = Array<{ _id: string; name: string | null; albumArtist: string | null; catalogNo: string | null; releaseDate: string | null; slug: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; }>; // Source: app/releases/page.tsx // Variable: RELEASES_COUNT_QUERY // Query: count(*[ _type == "release" &&( $q == "" || name match $qPattern || albumArtist match $qPattern || catalogNo match $qPattern) &&(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)]) export type RELEASES_COUNT_QUERY_RESULT = number; // Source: app/sitemap.ts // Variable: SITEMAP_ARTISTS_QUERY // Query: *[_type == "artist" && defined(slug.current)]{ "slug": slug.current, _updatedAt } export type SITEMAP_ARTISTS_QUERY_RESULT = Array<{ slug: string | null; _updatedAt: string; }>; // Source: app/sitemap.ts // Variable: SITEMAP_RELEASES_QUERY // Query: *[_type == "release" && defined(slug.current)]{ "slug": slug.current, _updatedAt } export type SITEMAP_RELEASES_QUERY_RESULT = Array<{ slug: string | null; _updatedAt: string; }>; // Source: app/sitemap.ts // Variable: SITEMAP_COMPOSERS_QUERY // Query: *[_type == "composer" && defined(slug.current)]{ "slug": slug.current, _updatedAt } export type SITEMAP_COMPOSERS_QUERY_RESULT = Array<{ slug: string | null; _updatedAt: string; }>; // Source: app/sitemap.ts // Variable: SITEMAP_WORKS_QUERY // Query: *[_type == "work" && defined(slug.current)]{ "slug": slug.current, _updatedAt } export type SITEMAP_WORKS_QUERY_RESULT = Array<{ slug: string | null; _updatedAt: string; }>; // Source: app/work/[slug]/layout.tsx // Variable: WORK_COMPOSER_SLUG_QUERY // Query: *[_type == "work" && slug.current == $slug][0]{ "composerSlug": composer->slug.current } export type WORK_COMPOSER_SLUG_QUERY_RESULT = { composerSlug: string | null; } | null; // Source: app/work/[slug]/page.tsx // Variable: WORK_DETAIL_QUERY // Query: *[_type == "work" && slug.current == $slug][0]{ title, description, "slug": slug.current, "composerName": composer->name, "composerSlug": composer->slug.current, "composerImage": composer->image, "arrangerName": arranger->name, "releases": *[ _type == "release" && count(tracks[work->slug.current == $slug]) > 0 ] | order(releaseDate desc, catalogNo desc) { _id, name, albumArtist, catalogNo, "slug": slug.current, releaseDate, albumCover, genre, instrumentation }} export type WORK_DETAIL_QUERY_RESULT = { title: string | null; description: Array<{ children?: Array<{ marks?: Array; text?: string; _type: "span"; _key: string; }>; style?: "blockquote" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "normal"; listItem?: "bullet" | "number"; markDefs?: Array<{ href?: string; _type: "link"; _key: string; }>; level?: number; _type: "block"; _key: string; }> | null; slug: string | null; composerName: string | null; composerSlug: string | null; composerImage: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; arrangerName: string | null; releases: Array<{ _id: string; name: string | null; albumArtist: string | null; catalogNo: string | null; slug: string | null; releaseDate: string | null; albumCover: { asset?: SanityImageAssetReference; media?: unknown; hotspot?: SanityImageHotspot; crop?: SanityImageCrop; _type: "image"; } | null; genre: Array< | "baroque" | "classical" | "contemporary" | "crossover" | "earlyMusic" | "electronic" | "jazz" | "minimal" | "popRock" | "romantic" | "worldMusic" > | null; instrumentation: Array<"chamber" | "ensemble" | "orchestra" | "solo" | "vocalChoral"> | null; }>; } | null; // Source: app/work/[slug]/page.tsx // Variable: WORK_SLUGS_QUERY // Query: *[_type == "work" && defined(slug.current)]{ "slug": slug.current } export type WORK_SLUGS_QUERY_RESULT = Array<{ slug: string | null; }>; // Query TypeMap import "@sanity/client"; declare module "@sanity/client" { interface SanityQueries { '\n*[_type == "release" && lower(catalogNo) == $slug][0]{\n name,\n albumArtist,\n label,\n catalogNo,\n albumCover,\n officialUrl,\n spotifyUrl,\n appleMusicUrl,\n deezerUrl,\n amazonMusicUrl,\n tidalUrl,\n qobuzUrl,\n}\n': RELEASE_BY_CATALOG_NO_QUERY_RESULT; '*[_type == "release" && defined(catalogNo)][]{ "slug": lower(catalogNo) }': RELEASE_CATALOG_SLUGS_QUERY_RESULT; '\n*[_type == "release" && catalogNo in $catalogNos]{\n catalogNo,\n name,\n albumArtist,\n "slug": slug.current,\n albumCover,\n releaseDate,\n genre,\n instrumentation\n}\n': RELEASES_BY_CATALOG_NOS_QUERY_RESULT; '\n*[_type == "artist" && slug.current == $slug][0]{\n name,\n role,\n "slug": slug.current,\n bio,\n image,\n "releases": *[\n _type == "release" &&\n references(^._id)\n ]\n | order(releaseDate desc, catalogNo desc) {\n _id,\n name,\n albumArtist,\n catalogNo,\n "slug": slug.current,\n releaseDate,\n albumCover,\n genre,\n instrumentation\n },\n "upcomingConcerts": *[\n _type == "concert" &&\n references(^._id) &&\n date >= $today\n ] | order(date asc, time asc) {\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n},\n "pastConcerts": *[\n _type == "concert" &&\n references(^._id) &&\n date < $today\n ] | order(date desc, time desc) {\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n}\n}\n': ARTIST_DETAIL_QUERY_RESULT; '*[_type == "artist" && defined(slug.current)]{ "slug": slug.current }': ARTIST_SLUGS_QUERY_RESULT; '\n*[\n _type == "artist" &&\n (\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n )\n]\n| order(lower(name) asc)\n[$start...$end]{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n}\n': ARTISTS_BY_NAME_QUERY_RESULT; '\n*[\n _type == "artist" &&\n (\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n )\n]\n| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n}\n': ARTISTS_BY_SORT_KEY_QUERY_RESULT; '\ncount(*[\n _type == "artist" &&\n (\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n )\n])\n': ARTISTS_COUNT_QUERY_RESULT; '\n*[\n \n_type == "blog" &&\n(\n $q == "" ||\n title match $qPattern ||\n subtitle match $qPattern ||\n author match $qPattern\n) &&\n(count($categories) == 0 || category in $categories)\n\n]\n| order(coalesce(publishDate, "0000-01-01") desc, lower(title) asc)\n[$start...$end]{\n _id,\n title,\n subtitle,\n author,\n publishDate,\n category,\n "slug": slug.current,\n featuredImage\n}\n': BLOGS_BY_DATE_DESC_QUERY_RESULT; '\n*[\n \n_type == "blog" &&\n(\n $q == "" ||\n title match $qPattern ||\n subtitle match $qPattern ||\n author match $qPattern\n) &&\n(count($categories) == 0 || category in $categories)\n\n]\n| order(coalesce(publishDate, "9999-12-31") asc, lower(title) asc)\n[$start...$end]{\n _id,\n title,\n subtitle,\n author,\n publishDate,\n category,\n "slug": slug.current,\n featuredImage\n}\n': BLOGS_BY_DATE_ASC_QUERY_RESULT; '\ncount(*[\n \n_type == "blog" &&\n(\n $q == "" ||\n title match $qPattern ||\n subtitle match $qPattern ||\n author match $qPattern\n) &&\n(count($categories) == 0 || category in $categories)\n\n])\n': BLOGS_COUNT_QUERY_RESULT; '\n*[_type == "blog" && slug.current == $slug][0]{\n title,\n subtitle,\n "slug": slug.current,\n author,\n publishDate,\n category,\n featuredImage,\n content[]{\n ...,\n _type == "image" => {\n ...,\n asset->\n }\n },\n "releases": releases[]->{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n },\n "artists": artists[]->{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n },\n "composers": composers[]->{\n _id,\n name,\n sortKey,\n "slug": slug.current,\n birthYear,\n deathYear,\n image\n }\n}\n': BLOG_DETAIL_QUERY_RESULT; '*[_type == "blog" && defined(slug.current)]{ "slug": slug.current }': BLOG_SLUGS_QUERY_RESULT; '\n*[_type == "composer" && slug.current == $slug][0]{\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n bio,\n image,\n\n "releases": *[\n _type == "release" &&\n count(tracks[work->composer->slug.current == $slug]) > 0\n ]\n | order(releaseDate desc, catalogNo desc) {\n _id,\n name,\n albumArtist,\n catalogNo,\n "slug": slug.current,\n releaseDate,\n albumCover,\n genre,\n instrumentation\n },\n\n "composedWorks": *[\n _type == "work" &&\n composer->slug.current == $slug\n ]\n | order(title asc, defined(arranger) asc, arranger->name asc) {\n title,\n "slug": slug.current,\n "arrangerName": arranger->name\n },\n\n "arrangedWorks": *[\n _type == "work" &&\n arranger->slug.current == $slug\n ]\n | order(coalesce(composer->sortKey, composer->name) asc, title asc) {\n title,\n "slug": slug.current,\n "originalComposerName": composer->name,\n "originalComposerSortKey": composer->sortKey\n }\n}\n': COMPOSER_DETAIL_QUERY_RESULT; '*[_type == "composer" && defined(slug.current)]{ "slug": slug.current }': COMPOSER_SLUGS_QUERY_RESULT; '\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_NAME_QUERY_RESULT; '\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(lower(coalesce(sortKey, name)) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_SORT_KEY_QUERY_RESULT; '\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(coalesce(birthYear, 999999) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_BIRTH_YEAR_ASC_QUERY_RESULT; '\n*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n]\n| order(coalesce(birthYear, -999999) desc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n birthYear,\n deathYear,\n "slug": slug.current,\n image\n}\n': COMPOSERS_BY_BIRTH_YEAR_DESC_QUERY_RESULT; '\ncount(*[\n \n_type == "composer" &&\n(\n $q == "" ||\n name match $qPattern ||\n role match $qPattern\n)\n\n])\n': COMPOSERS_COUNT_QUERY_RESULT; '\n*[_type == "concert" && date >= $today]\n{\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n}\n| order(date asc, time asc)\n': UPCOMING_CONCERTS_QUERY_RESULT; '\n*[_type == "concert" && date < $today]\n{\n _id,\n title,\n subtitle,\n date,\n time,\n locationName,\n city,\n country,\n "artists": artists[]->{ _id, name, "slug": slug.current },\n ticketUrl\n}\n| order(date desc, time desc)\n': PAST_CONCERTS_QUERY_RESULT; '\n*[_type == "release" && slug.current == $slug][0]{\n "bookletPdfUrl": bookletPdf.asset->url\n}\n': BOOKLET_URL_QUERY_RESULT; '\n*[_type == "release" && slug.current == $slug][0]{\n name,\n albumArtist,\n label,\n catalogNo,\n upc,\n "slug": slug.current,\n releaseDate,\n shortDescription,\n description,\n albumCover,\n "artists": artists[]->{\n _id,\n name,\n role,\n "slug": slug.current,\n image\n },\n "composers": tracks[].work->composer->{\n _id,\n name,\n sortKey,\n "slug": slug.current,\n birthYear,\n deathYear,\n image\n },\n "arrangers": tracks[].work->arranger->{\n _id,\n name,\n sortKey,\n "slug": slug.current,\n birthYear,\n deathYear,\n image\n },\n tracks[]{\n "workId": work->_id,\n "workTitle": work->title,\n "composerName": work->composer->name,\n "arrangerName": work->arranger->name,\n movement,\n displayTitle,\n duration,\n artist,\n "previewMp3Url": previewMp3.asset->url\n },\n reviews[]{ quote, author },\n credits[]{ role, name },\n recordingDate,\n recordingLocation,\n recordingFormat,\n masteringFormat,\n "bookletPdfUrl": bookletPdf.asset->url,\n equipment[]{ type, name }\n}\n': RELEASE_DETAIL_QUERY_RESULT; '*[_type == "release" && defined(slug.current)]{ "slug": slug.current }': RELEASE_SLUGS_QUERY_RESULT; '\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_TITLE_ASC_QUERY_RESULT; '\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(name) desc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_TITLE_DESC_QUERY_RESULT; '\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(catalogNo) asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_CATALOG_NO_ASC_QUERY_RESULT; '\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(lower(catalogNo) desc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_CATALOG_NO_DESC_QUERY_RESULT; '\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(coalesce(releaseDate, "9999-12-31") asc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_DATE_ASC_QUERY_RESULT; '\n*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n]\n| order(coalesce(releaseDate, "0000-01-01") desc, lower(name) asc)\n[$start...$end]{\n _id,\n name,\n albumArtist,\n catalogNo,\n releaseDate,\n "slug": slug.current,\n albumCover\n}\n': RELEASES_BY_DATE_DESC_QUERY_RESULT; '\ncount(*[\n \n_type == "release" &&\n(\n $q == "" ||\n name match $qPattern ||\n albumArtist match $qPattern ||\n catalogNo match $qPattern\n) &&\n(count($genres) == 0 || count(genre[@ in $genres]) > 0) &&\n(count($instrumentations) == 0 || count(instrumentation[@ in $instrumentations]) > 0)\n\n])\n': RELEASES_COUNT_QUERY_RESULT; '*[_type == "artist" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_ARTISTS_QUERY_RESULT; '*[_type == "release" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_RELEASES_QUERY_RESULT; '*[_type == "composer" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_COMPOSERS_QUERY_RESULT; '*[_type == "work" && defined(slug.current)]{ "slug": slug.current, _updatedAt }': SITEMAP_WORKS_QUERY_RESULT; '*[_type == "work" && slug.current == $slug][0]{ "composerSlug": composer->slug.current }': WORK_COMPOSER_SLUG_QUERY_RESULT; '\n*[_type == "work" && slug.current == $slug][0]{\n title,\n description,\n "slug": slug.current,\n "composerName": composer->name,\n "composerSlug": composer->slug.current,\n "composerImage": composer->image,\n "arrangerName": arranger->name,\n\n "releases": *[\n _type == "release" &&\n count(tracks[work->slug.current == $slug]) > 0\n ]\n | order(releaseDate desc, catalogNo desc) {\n _id,\n name,\n albumArtist,\n catalogNo,\n "slug": slug.current,\n releaseDate,\n albumCover,\n genre,\n instrumentation\n }\n}\n': WORK_DETAIL_QUERY_RESULT; '*[_type == "work" && defined(slug.current)]{ "slug": slug.current }': WORK_SLUGS_QUERY_RESULT; } }