diff --git a/README.md b/README.md index d3f8d31..dfad21e 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,7 @@ SUPABASE_AUTH_REDIRECT_URI="http://127.0.0.1:54321/auth/v1/callback" ```sh npx supabase start ``` + ### Setting up Discord OAuth To configure local Supabase to handle Discord logins: @@ -124,6 +125,7 @@ Users can check into events if they are within 1 mile / 1.6 km of its location, ### Querying badge data A helpful query to view event location data in more helpful terms: + ```sql select id, @@ -140,10 +142,12 @@ from badges; ### Inserting new badges into Supabase The current best way to insert badges with geolocation data is to use SQL. + - Go and get the precise lat/long coordinates of the event location. With PostGIS, you will specify like so: `ST_POINT(longitude latitude)` - You can specify the precise date-time for both `event_start` and `event_end` using ISO format: `YYYY-MM-DD HH:mm:ss(+|-)00:00` (for the timezone after the `ss` seconds, two examples: Eastern Standard Time (EST) is GMT `-05:00`, Japan Standard Time (JST) is GMT `+09:00`) Example (batch insert): + ```sql insert into public.badges (name, type, location, external_url, event_start, event_end) diff --git a/src/app.css b/src/app.css index 12b2fd1..0759833 100644 --- a/src/app.css +++ b/src/app.css @@ -11,4 +11,4 @@ .bg-dots-straight { background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23f26bb5' fill-opacity='0.2' fill-rule='evenodd'%3E%3Ccircle cx='3' cy='3' r='3'/%3E%3Ccircle cx='13' cy='13' r='3'/%3E%3C/g%3E%3C/svg%3E"); } -} \ No newline at end of file +} diff --git a/src/lib/components/Footer.svelte b/src/lib/components/Footer.svelte index cdd65f5..e3c3c43 100644 --- a/src/lib/components/Footer.svelte +++ b/src/lib/components/Footer.svelte @@ -25,8 +25,10 @@
- 𝕏𝕏 -
+
diff --git a/src/lib/database.types.ts b/src/lib/database.types.ts index 01adbb1..a371296 100644 --- a/src/lib/database.types.ts +++ b/src/lib/database.types.ts @@ -1,664 +1,649 @@ -export type Json = - | string - | number - | boolean - | null - | { [key: string]: Json | undefined } - | Json[] +export type Json = string | number | boolean | null | { [key: string]: Json | undefined } | Json[]; export type Database = { - graphql_public: { - Tables: { - [_ in never]: never - } - Views: { - [_ in never]: never - } - Functions: { - graphql: { - Args: { - operationName?: string - query?: string - variables?: Json - extensions?: Json - } - Returns: Json - } - } - Enums: { - [_ in never]: never - } - CompositeTypes: { - [_ in never]: never - } - } - public: { - Tables: { - badges: { - Row: { - created_at: string - event_end: string | null - event_start: string | null - external_url: string | null - id: number - image: string | null - location: unknown | null - name: string | null - type: Database["public"]["Enums"]["Badge type"] | null - } - Insert: { - created_at?: string - event_end?: string | null - event_start?: string | null - external_url?: string | null - id?: number - image?: string | null - location?: unknown | null - name?: string | null - type?: Database["public"]["Enums"]["Badge type"] | null - } - Update: { - created_at?: string - event_end?: string | null - event_start?: string | null - external_url?: string | null - id?: number - image?: string | null - location?: unknown | null - name?: string | null - type?: Database["public"]["Enums"]["Badge type"] | null - } - Relationships: [] - } - follows: { - Row: { - followee_id: string - follower_id: string - } - Insert: { - followee_id: string - follower_id: string - } - Update: { - followee_id?: string - follower_id?: string - } - Relationships: [ - { - foreignKeyName: "follows_followee_id_fkey" - columns: ["followee_id"] - isOneToOne: false - referencedRelation: "profiles" - referencedColumns: ["id"] - }, - { - foreignKeyName: "follows_follower_id_fkey" - columns: ["follower_id"] - isOneToOne: false - referencedRelation: "profiles" - referencedColumns: ["id"] - }, - ] - } - profiles: { - Row: { - avatar_url: string | null - badge_ids: number[] | null - bio: string | null - email: string | null - fav_stream: string | null - id: string - location: string | null - nickname: string | null - nickname_jp: string | null - talent_ids: number[] | null - updated_at: string | null - } - Insert: { - avatar_url?: string | null - badge_ids?: number[] | null - bio?: string | null - email?: string | null - fav_stream?: string | null - id: string - location?: string | null - nickname?: string | null - nickname_jp?: string | null - talent_ids?: number[] | null - updated_at?: string | null - } - Update: { - avatar_url?: string | null - badge_ids?: number[] | null - bio?: string | null - email?: string | null - fav_stream?: string | null - id?: string - location?: string | null - nickname?: string | null - nickname_jp?: string | null - talent_ids?: number[] | null - updated_at?: string | null - } - Relationships: [] - } - talents: { - Row: { - created_at: string - fanmark: string - gen: Database["public"]["Enums"]["Generation"] | null - id: number - name_en: string - name_jp: string - } - Insert: { - created_at?: string - fanmark: string - gen?: Database["public"]["Enums"]["Generation"] | null - id?: number - name_en?: string - name_jp: string - } - Update: { - created_at?: string - fanmark?: string - gen?: Database["public"]["Enums"]["Generation"] | null - id?: number - name_en?: string - name_jp?: string - } - Relationships: [] - } - } - Views: { - [_ in never]: never - } - Functions: { - get_badge_location: { - Args: { - id: number - } - Returns: { - id: number - lat: number - long: number - }[] - } - get_badge_locations: { - Args: Record - Returns: { - id: number - lat: number - long: number - }[] - } - get_nearest_badges: { - Args: { - lat: number - long: number - max_dist: number - } - Returns: { - id: number - lat: number - long: number - dist_m: number - }[] - } - get_nearest_badges_temporal: { - Args: { - lat: number - long: number - max_dist: number - } - Returns: { - id: number - lat: number - long: number - dist_m: number - }[] - } - increment: { - Args: { - row_id: number - } - Returns: undefined - } - } - Enums: { - "Badge type": "concert" | "official_event" | "meetup" - Generation: - | "Gen 0" - | "Gen 1" - | "Gen 2" - | "Gen 3" - | "Gen 4" - | "Gen 5" - | "GAMERS" - | "holoX" - | "Indonesia" - | "Myth" - | "Promise" - | "Advent" - | "ReGLOSS" - | "Alum" - | "Office Staff" - } - CompositeTypes: { - [_ in never]: never - } - } - storage: { - Tables: { - buckets: { - Row: { - allowed_mime_types: string[] | null - avif_autodetection: boolean | null - created_at: string | null - file_size_limit: number | null - id: string - name: string - owner: string | null - owner_id: string | null - public: boolean | null - updated_at: string | null - } - Insert: { - allowed_mime_types?: string[] | null - avif_autodetection?: boolean | null - created_at?: string | null - file_size_limit?: number | null - id: string - name: string - owner?: string | null - owner_id?: string | null - public?: boolean | null - updated_at?: string | null - } - Update: { - allowed_mime_types?: string[] | null - avif_autodetection?: boolean | null - created_at?: string | null - file_size_limit?: number | null - id?: string - name?: string - owner?: string | null - owner_id?: string | null - public?: boolean | null - updated_at?: string | null - } - Relationships: [] - } - migrations: { - Row: { - executed_at: string | null - hash: string - id: number - name: string - } - Insert: { - executed_at?: string | null - hash: string - id: number - name: string - } - Update: { - executed_at?: string | null - hash?: string - id?: number - name?: string - } - Relationships: [] - } - objects: { - Row: { - bucket_id: string | null - created_at: string | null - id: string - last_accessed_at: string | null - metadata: Json | null - name: string | null - owner: string | null - owner_id: string | null - path_tokens: string[] | null - updated_at: string | null - user_metadata: Json | null - version: string | null - } - Insert: { - bucket_id?: string | null - created_at?: string | null - id?: string - last_accessed_at?: string | null - metadata?: Json | null - name?: string | null - owner?: string | null - owner_id?: string | null - path_tokens?: string[] | null - updated_at?: string | null - user_metadata?: Json | null - version?: string | null - } - Update: { - bucket_id?: string | null - created_at?: string | null - id?: string - last_accessed_at?: string | null - metadata?: Json | null - name?: string | null - owner?: string | null - owner_id?: string | null - path_tokens?: string[] | null - updated_at?: string | null - user_metadata?: Json | null - version?: string | null - } - Relationships: [ - { - foreignKeyName: "objects_bucketId_fkey" - columns: ["bucket_id"] - isOneToOne: false - referencedRelation: "buckets" - referencedColumns: ["id"] - }, - ] - } - s3_multipart_uploads: { - Row: { - bucket_id: string - created_at: string - id: string - in_progress_size: number - key: string - owner_id: string | null - upload_signature: string - user_metadata: Json | null - version: string - } - Insert: { - bucket_id: string - created_at?: string - id: string - in_progress_size?: number - key: string - owner_id?: string | null - upload_signature: string - user_metadata?: Json | null - version: string - } - Update: { - bucket_id?: string - created_at?: string - id?: string - in_progress_size?: number - key?: string - owner_id?: string | null - upload_signature?: string - user_metadata?: Json | null - version?: string - } - Relationships: [ - { - foreignKeyName: "s3_multipart_uploads_bucket_id_fkey" - columns: ["bucket_id"] - isOneToOne: false - referencedRelation: "buckets" - referencedColumns: ["id"] - }, - ] - } - s3_multipart_uploads_parts: { - Row: { - bucket_id: string - created_at: string - etag: string - id: string - key: string - owner_id: string | null - part_number: number - size: number - upload_id: string - version: string - } - Insert: { - bucket_id: string - created_at?: string - etag: string - id?: string - key: string - owner_id?: string | null - part_number: number - size?: number - upload_id: string - version: string - } - Update: { - bucket_id?: string - created_at?: string - etag?: string - id?: string - key?: string - owner_id?: string | null - part_number?: number - size?: number - upload_id?: string - version?: string - } - Relationships: [ - { - foreignKeyName: "s3_multipart_uploads_parts_bucket_id_fkey" - columns: ["bucket_id"] - isOneToOne: false - referencedRelation: "buckets" - referencedColumns: ["id"] - }, - { - foreignKeyName: "s3_multipart_uploads_parts_upload_id_fkey" - columns: ["upload_id"] - isOneToOne: false - referencedRelation: "s3_multipart_uploads" - referencedColumns: ["id"] - }, - ] - } - } - Views: { - [_ in never]: never - } - Functions: { - can_insert_object: { - Args: { - bucketid: string - name: string - owner: string - metadata: Json - } - Returns: undefined - } - extension: { - Args: { - name: string - } - Returns: string - } - filename: { - Args: { - name: string - } - Returns: string - } - foldername: { - Args: { - name: string - } - Returns: string[] - } - get_size_by_bucket: { - Args: Record - Returns: { - size: number - bucket_id: string - }[] - } - list_multipart_uploads_with_delimiter: { - Args: { - bucket_id: string - prefix_param: string - delimiter_param: string - max_keys?: number - next_key_token?: string - next_upload_token?: string - } - Returns: { - key: string - id: string - created_at: string - }[] - } - list_objects_with_delimiter: { - Args: { - bucket_id: string - prefix_param: string - delimiter_param: string - max_keys?: number - start_after?: string - next_token?: string - } - Returns: { - name: string - id: string - metadata: Json - updated_at: string - }[] - } - operation: { - Args: Record - Returns: string - } - search: { - Args: { - prefix: string - bucketname: string - limits?: number - levels?: number - offsets?: number - search?: string - sortcolumn?: string - sortorder?: string - } - Returns: { - name: string - id: string - updated_at: string - created_at: string - last_accessed_at: string - metadata: Json - }[] - } - } - Enums: { - [_ in never]: never - } - CompositeTypes: { - [_ in never]: never - } - } -} + graphql_public: { + Tables: { + [_ in never]: never; + }; + Views: { + [_ in never]: never; + }; + Functions: { + graphql: { + Args: { + operationName?: string; + query?: string; + variables?: Json; + extensions?: Json; + }; + Returns: Json; + }; + }; + Enums: { + [_ in never]: never; + }; + CompositeTypes: { + [_ in never]: never; + }; + }; + public: { + Tables: { + badges: { + Row: { + created_at: string; + event_end: string | null; + event_start: string | null; + external_url: string | null; + id: number; + image: string | null; + location: unknown | null; + name: string | null; + type: Database['public']['Enums']['Badge type'] | null; + }; + Insert: { + created_at?: string; + event_end?: string | null; + event_start?: string | null; + external_url?: string | null; + id?: number; + image?: string | null; + location?: unknown | null; + name?: string | null; + type?: Database['public']['Enums']['Badge type'] | null; + }; + Update: { + created_at?: string; + event_end?: string | null; + event_start?: string | null; + external_url?: string | null; + id?: number; + image?: string | null; + location?: unknown | null; + name?: string | null; + type?: Database['public']['Enums']['Badge type'] | null; + }; + Relationships: []; + }; + follows: { + Row: { + followee_id: string; + follower_id: string; + }; + Insert: { + followee_id: string; + follower_id: string; + }; + Update: { + followee_id?: string; + follower_id?: string; + }; + Relationships: [ + { + foreignKeyName: 'follows_followee_id_fkey'; + columns: ['followee_id']; + isOneToOne: false; + referencedRelation: 'profiles'; + referencedColumns: ['id']; + }, + { + foreignKeyName: 'follows_follower_id_fkey'; + columns: ['follower_id']; + isOneToOne: false; + referencedRelation: 'profiles'; + referencedColumns: ['id']; + } + ]; + }; + profiles: { + Row: { + avatar_url: string | null; + badge_ids: number[] | null; + bio: string | null; + email: string | null; + fav_stream: string | null; + id: string; + location: string | null; + nickname: string | null; + nickname_jp: string | null; + talent_ids: number[] | null; + updated_at: string | null; + }; + Insert: { + avatar_url?: string | null; + badge_ids?: number[] | null; + bio?: string | null; + email?: string | null; + fav_stream?: string | null; + id: string; + location?: string | null; + nickname?: string | null; + nickname_jp?: string | null; + talent_ids?: number[] | null; + updated_at?: string | null; + }; + Update: { + avatar_url?: string | null; + badge_ids?: number[] | null; + bio?: string | null; + email?: string | null; + fav_stream?: string | null; + id?: string; + location?: string | null; + nickname?: string | null; + nickname_jp?: string | null; + talent_ids?: number[] | null; + updated_at?: string | null; + }; + Relationships: []; + }; + talents: { + Row: { + created_at: string; + fanmark: string; + gen: Database['public']['Enums']['Generation'] | null; + id: number; + name_en: string; + name_jp: string; + }; + Insert: { + created_at?: string; + fanmark: string; + gen?: Database['public']['Enums']['Generation'] | null; + id?: number; + name_en?: string; + name_jp: string; + }; + Update: { + created_at?: string; + fanmark?: string; + gen?: Database['public']['Enums']['Generation'] | null; + id?: number; + name_en?: string; + name_jp?: string; + }; + Relationships: []; + }; + }; + Views: { + [_ in never]: never; + }; + Functions: { + get_badge_location: { + Args: { + id: number; + }; + Returns: { + id: number; + lat: number; + long: number; + }[]; + }; + get_badge_locations: { + Args: Record; + Returns: { + id: number; + lat: number; + long: number; + }[]; + }; + get_nearest_badges: { + Args: { + lat: number; + long: number; + max_dist: number; + }; + Returns: { + id: number; + lat: number; + long: number; + dist_m: number; + }[]; + }; + get_nearest_badges_temporal: { + Args: { + lat: number; + long: number; + max_dist: number; + }; + Returns: { + id: number; + lat: number; + long: number; + dist_m: number; + }[]; + }; + increment: { + Args: { + row_id: number; + }; + Returns: undefined; + }; + }; + Enums: { + 'Badge type': 'concert' | 'official_event' | 'meetup'; + Generation: + | 'Gen 0' + | 'Gen 1' + | 'Gen 2' + | 'Gen 3' + | 'Gen 4' + | 'Gen 5' + | 'GAMERS' + | 'holoX' + | 'Indonesia' + | 'Myth' + | 'Promise' + | 'Advent' + | 'ReGLOSS' + | 'Alum' + | 'Office Staff'; + }; + CompositeTypes: { + [_ in never]: never; + }; + }; + storage: { + Tables: { + buckets: { + Row: { + allowed_mime_types: string[] | null; + avif_autodetection: boolean | null; + created_at: string | null; + file_size_limit: number | null; + id: string; + name: string; + owner: string | null; + owner_id: string | null; + public: boolean | null; + updated_at: string | null; + }; + Insert: { + allowed_mime_types?: string[] | null; + avif_autodetection?: boolean | null; + created_at?: string | null; + file_size_limit?: number | null; + id: string; + name: string; + owner?: string | null; + owner_id?: string | null; + public?: boolean | null; + updated_at?: string | null; + }; + Update: { + allowed_mime_types?: string[] | null; + avif_autodetection?: boolean | null; + created_at?: string | null; + file_size_limit?: number | null; + id?: string; + name?: string; + owner?: string | null; + owner_id?: string | null; + public?: boolean | null; + updated_at?: string | null; + }; + Relationships: []; + }; + migrations: { + Row: { + executed_at: string | null; + hash: string; + id: number; + name: string; + }; + Insert: { + executed_at?: string | null; + hash: string; + id: number; + name: string; + }; + Update: { + executed_at?: string | null; + hash?: string; + id?: number; + name?: string; + }; + Relationships: []; + }; + objects: { + Row: { + bucket_id: string | null; + created_at: string | null; + id: string; + last_accessed_at: string | null; + metadata: Json | null; + name: string | null; + owner: string | null; + owner_id: string | null; + path_tokens: string[] | null; + updated_at: string | null; + user_metadata: Json | null; + version: string | null; + }; + Insert: { + bucket_id?: string | null; + created_at?: string | null; + id?: string; + last_accessed_at?: string | null; + metadata?: Json | null; + name?: string | null; + owner?: string | null; + owner_id?: string | null; + path_tokens?: string[] | null; + updated_at?: string | null; + user_metadata?: Json | null; + version?: string | null; + }; + Update: { + bucket_id?: string | null; + created_at?: string | null; + id?: string; + last_accessed_at?: string | null; + metadata?: Json | null; + name?: string | null; + owner?: string | null; + owner_id?: string | null; + path_tokens?: string[] | null; + updated_at?: string | null; + user_metadata?: Json | null; + version?: string | null; + }; + Relationships: [ + { + foreignKeyName: 'objects_bucketId_fkey'; + columns: ['bucket_id']; + isOneToOne: false; + referencedRelation: 'buckets'; + referencedColumns: ['id']; + } + ]; + }; + s3_multipart_uploads: { + Row: { + bucket_id: string; + created_at: string; + id: string; + in_progress_size: number; + key: string; + owner_id: string | null; + upload_signature: string; + user_metadata: Json | null; + version: string; + }; + Insert: { + bucket_id: string; + created_at?: string; + id: string; + in_progress_size?: number; + key: string; + owner_id?: string | null; + upload_signature: string; + user_metadata?: Json | null; + version: string; + }; + Update: { + bucket_id?: string; + created_at?: string; + id?: string; + in_progress_size?: number; + key?: string; + owner_id?: string | null; + upload_signature?: string; + user_metadata?: Json | null; + version?: string; + }; + Relationships: [ + { + foreignKeyName: 's3_multipart_uploads_bucket_id_fkey'; + columns: ['bucket_id']; + isOneToOne: false; + referencedRelation: 'buckets'; + referencedColumns: ['id']; + } + ]; + }; + s3_multipart_uploads_parts: { + Row: { + bucket_id: string; + created_at: string; + etag: string; + id: string; + key: string; + owner_id: string | null; + part_number: number; + size: number; + upload_id: string; + version: string; + }; + Insert: { + bucket_id: string; + created_at?: string; + etag: string; + id?: string; + key: string; + owner_id?: string | null; + part_number: number; + size?: number; + upload_id: string; + version: string; + }; + Update: { + bucket_id?: string; + created_at?: string; + etag?: string; + id?: string; + key?: string; + owner_id?: string | null; + part_number?: number; + size?: number; + upload_id?: string; + version?: string; + }; + Relationships: [ + { + foreignKeyName: 's3_multipart_uploads_parts_bucket_id_fkey'; + columns: ['bucket_id']; + isOneToOne: false; + referencedRelation: 'buckets'; + referencedColumns: ['id']; + }, + { + foreignKeyName: 's3_multipart_uploads_parts_upload_id_fkey'; + columns: ['upload_id']; + isOneToOne: false; + referencedRelation: 's3_multipart_uploads'; + referencedColumns: ['id']; + } + ]; + }; + }; + Views: { + [_ in never]: never; + }; + Functions: { + can_insert_object: { + Args: { + bucketid: string; + name: string; + owner: string; + metadata: Json; + }; + Returns: undefined; + }; + extension: { + Args: { + name: string; + }; + Returns: string; + }; + filename: { + Args: { + name: string; + }; + Returns: string; + }; + foldername: { + Args: { + name: string; + }; + Returns: string[]; + }; + get_size_by_bucket: { + Args: Record; + Returns: { + size: number; + bucket_id: string; + }[]; + }; + list_multipart_uploads_with_delimiter: { + Args: { + bucket_id: string; + prefix_param: string; + delimiter_param: string; + max_keys?: number; + next_key_token?: string; + next_upload_token?: string; + }; + Returns: { + key: string; + id: string; + created_at: string; + }[]; + }; + list_objects_with_delimiter: { + Args: { + bucket_id: string; + prefix_param: string; + delimiter_param: string; + max_keys?: number; + start_after?: string; + next_token?: string; + }; + Returns: { + name: string; + id: string; + metadata: Json; + updated_at: string; + }[]; + }; + operation: { + Args: Record; + Returns: string; + }; + search: { + Args: { + prefix: string; + bucketname: string; + limits?: number; + levels?: number; + offsets?: number; + search?: string; + sortcolumn?: string; + sortorder?: string; + }; + Returns: { + name: string; + id: string; + updated_at: string; + created_at: string; + last_accessed_at: string; + metadata: Json; + }[]; + }; + }; + Enums: { + [_ in never]: never; + }; + CompositeTypes: { + [_ in never]: never; + }; + }; +}; -type PublicSchema = Database[Extract] +type PublicSchema = Database[Extract]; export type Tables< - PublicTableNameOrOptions extends - | keyof (PublicSchema["Tables"] & PublicSchema["Views"]) - | { schema: keyof Database }, - TableName extends PublicTableNameOrOptions extends { schema: keyof Database } - ? keyof (Database[PublicTableNameOrOptions["schema"]]["Tables"] & - Database[PublicTableNameOrOptions["schema"]]["Views"]) - : never = never, + PublicTableNameOrOptions extends + | keyof (PublicSchema['Tables'] & PublicSchema['Views']) + | { schema: keyof Database }, + TableName extends PublicTableNameOrOptions extends { schema: keyof Database } + ? keyof (Database[PublicTableNameOrOptions['schema']]['Tables'] & + Database[PublicTableNameOrOptions['schema']]['Views']) + : never = never > = PublicTableNameOrOptions extends { schema: keyof Database } - ? (Database[PublicTableNameOrOptions["schema"]]["Tables"] & - Database[PublicTableNameOrOptions["schema"]]["Views"])[TableName] extends { - Row: infer R - } - ? R - : never - : PublicTableNameOrOptions extends keyof (PublicSchema["Tables"] & - PublicSchema["Views"]) - ? (PublicSchema["Tables"] & - PublicSchema["Views"])[PublicTableNameOrOptions] extends { - Row: infer R - } - ? R - : never - : never + ? (Database[PublicTableNameOrOptions['schema']]['Tables'] & + Database[PublicTableNameOrOptions['schema']]['Views'])[TableName] extends { + Row: infer R; + } + ? R + : never + : PublicTableNameOrOptions extends keyof (PublicSchema['Tables'] & PublicSchema['Views']) + ? (PublicSchema['Tables'] & PublicSchema['Views'])[PublicTableNameOrOptions] extends { + Row: infer R; + } + ? R + : never + : never; export type TablesInsert< - PublicTableNameOrOptions extends - | keyof PublicSchema["Tables"] - | { schema: keyof Database }, - TableName extends PublicTableNameOrOptions extends { schema: keyof Database } - ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"] - : never = never, + PublicTableNameOrOptions extends keyof PublicSchema['Tables'] | { schema: keyof Database }, + TableName extends PublicTableNameOrOptions extends { schema: keyof Database } + ? keyof Database[PublicTableNameOrOptions['schema']]['Tables'] + : never = never > = PublicTableNameOrOptions extends { schema: keyof Database } - ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends { - Insert: infer I - } - ? I - : never - : PublicTableNameOrOptions extends keyof PublicSchema["Tables"] - ? PublicSchema["Tables"][PublicTableNameOrOptions] extends { - Insert: infer I - } - ? I - : never - : never + ? Database[PublicTableNameOrOptions['schema']]['Tables'][TableName] extends { + Insert: infer I; + } + ? I + : never + : PublicTableNameOrOptions extends keyof PublicSchema['Tables'] + ? PublicSchema['Tables'][PublicTableNameOrOptions] extends { + Insert: infer I; + } + ? I + : never + : never; export type TablesUpdate< - PublicTableNameOrOptions extends - | keyof PublicSchema["Tables"] - | { schema: keyof Database }, - TableName extends PublicTableNameOrOptions extends { schema: keyof Database } - ? keyof Database[PublicTableNameOrOptions["schema"]]["Tables"] - : never = never, + PublicTableNameOrOptions extends keyof PublicSchema['Tables'] | { schema: keyof Database }, + TableName extends PublicTableNameOrOptions extends { schema: keyof Database } + ? keyof Database[PublicTableNameOrOptions['schema']]['Tables'] + : never = never > = PublicTableNameOrOptions extends { schema: keyof Database } - ? Database[PublicTableNameOrOptions["schema"]]["Tables"][TableName] extends { - Update: infer U - } - ? U - : never - : PublicTableNameOrOptions extends keyof PublicSchema["Tables"] - ? PublicSchema["Tables"][PublicTableNameOrOptions] extends { - Update: infer U - } - ? U - : never - : never + ? Database[PublicTableNameOrOptions['schema']]['Tables'][TableName] extends { + Update: infer U; + } + ? U + : never + : PublicTableNameOrOptions extends keyof PublicSchema['Tables'] + ? PublicSchema['Tables'][PublicTableNameOrOptions] extends { + Update: infer U; + } + ? U + : never + : never; export type Enums< - PublicEnumNameOrOptions extends - | keyof PublicSchema["Enums"] - | { schema: keyof Database }, - EnumName extends PublicEnumNameOrOptions extends { schema: keyof Database } - ? keyof Database[PublicEnumNameOrOptions["schema"]]["Enums"] - : never = never, + PublicEnumNameOrOptions extends keyof PublicSchema['Enums'] | { schema: keyof Database }, + EnumName extends PublicEnumNameOrOptions extends { schema: keyof Database } + ? keyof Database[PublicEnumNameOrOptions['schema']]['Enums'] + : never = never > = PublicEnumNameOrOptions extends { schema: keyof Database } - ? Database[PublicEnumNameOrOptions["schema"]]["Enums"][EnumName] - : PublicEnumNameOrOptions extends keyof PublicSchema["Enums"] - ? PublicSchema["Enums"][PublicEnumNameOrOptions] - : never + ? Database[PublicEnumNameOrOptions['schema']]['Enums'][EnumName] + : PublicEnumNameOrOptions extends keyof PublicSchema['Enums'] + ? PublicSchema['Enums'][PublicEnumNameOrOptions] + : never; export type CompositeTypes< - PublicCompositeTypeNameOrOptions extends - | keyof PublicSchema["CompositeTypes"] - | { schema: keyof Database }, - CompositeTypeName extends PublicCompositeTypeNameOrOptions extends { - schema: keyof Database - } - ? keyof Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"] - : never = never, + PublicCompositeTypeNameOrOptions extends + | keyof PublicSchema['CompositeTypes'] + | { schema: keyof Database }, + CompositeTypeName extends PublicCompositeTypeNameOrOptions extends { + schema: keyof Database; + } + ? keyof Database[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'] + : never = never > = PublicCompositeTypeNameOrOptions extends { schema: keyof Database } - ? Database[PublicCompositeTypeNameOrOptions["schema"]]["CompositeTypes"][CompositeTypeName] - : PublicCompositeTypeNameOrOptions extends keyof PublicSchema["CompositeTypes"] - ? PublicSchema["CompositeTypes"][PublicCompositeTypeNameOrOptions] - : never - + ? Database[PublicCompositeTypeNameOrOptions['schema']]['CompositeTypes'][CompositeTypeName] + : PublicCompositeTypeNameOrOptions extends keyof PublicSchema['CompositeTypes'] + ? PublicSchema['CompositeTypes'][PublicCompositeTypeNameOrOptions] + : never; diff --git a/src/routes/about/+page.svelte b/src/routes/about/+page.svelte index be1177f..6c7dfe3 100644 --- a/src/routes/about/+page.svelte +++ b/src/routes/about/+page.svelte @@ -37,7 +37,6 @@
IthiX, Moondog, kanomeister -

Alpha testers: Kaigainiki server members

diff --git a/src/routes/mypass/+page.svelte b/src/routes/mypass/+page.svelte index 310ab26..7f76d72 100644 --- a/src/routes/mypass/+page.svelte +++ b/src/routes/mypass/+page.svelte @@ -35,9 +35,9 @@

@@ -52,9 +52,8 @@ {nearbyEventData.error?.endsWith('.') || nearbyEventData.error?.endsWith('!') @@ -185,7 +185,7 @@ {/if}
{:else} - + This browser does not support geolocation. Please use another browser! {/if} diff --git a/src/routes/mypass/check-in/[id]/+page.svelte b/src/routes/mypass/check-in/[id]/+page.svelte index c443bef..0a838d0 100644 --- a/src/routes/mypass/check-in/[id]/+page.svelte +++ b/src/routes/mypass/check-in/[id]/+page.svelte @@ -64,7 +64,7 @@ loc: [$coords.latitude, $coords.longitude] } as CheckInPostRequestBody) }); - + status = res.status; data = await res.json(); @@ -91,7 +91,6 @@ }, 100); }); - const bgInfo = 'bg-[#389BF2]'; const bgError = 'bg-[#ff0000]'; const bgSuccess = 'bg-[#16a34a]'; diff --git a/src/routes/qr/+page.svelte b/src/routes/qr/+page.svelte index 32f75c1..ca08cc3 100644 --- a/src/routes/qr/+page.svelte +++ b/src/routes/qr/+page.svelte @@ -33,7 +33,7 @@