/*
 * Copyright 2026 MagicalBits
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     https://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package xyz.magicalbits.smsremote.data

import xyz.magicalbits.smsremote.R
import xyz.magicalbits.smsremote.conversation.ConversationUiState
import xyz.magicalbits.smsremote.conversation.Message
import xyz.magicalbits.smsremote.device.DeviceScreenState
import xyz.magicalbits.smsremote.profile.ProfileScreenState

val initialMessages =
    listOf(
        Message(
            "Taylor Brooks",
            "You can use all the same stuff",
            "8:05 PM",
        ),
    )

val initialMessages2 =
    listOf(
        Message(
            "uahguoidahfg",
            "yolo",
            "8:05 PM",
        ),
    )

val unreadMessages = initialMessages.filter { it.author != "me" }

val exampleUiState =
    ConversationUiState(
        initialMessages = initialMessages,
        channelName = "Samsung A14",
        channelMembers = 42,
    )

val exampleUiState2 =
    ConversationUiState(
        initialMessages = initialMessages2,
        channelName = "iPhone XYZ",
        channelMembers = 69,
    )

/**
 * Example colleague profile
 */
val colleagueProfile =
    ProfileScreenState(
        userId = "12345",
        photo = R.drawable.someone_else,
        name = "Taylor Brooks",
        status = "Away",
        displayName = "taylor",
        position = "Senior Android Dev at Openlane",
        twitter = "twitter.com/taylorbrookscodes",
        timeZone = "12:25 AM local time (Eastern Daylight Time)",
        commonChannels = "2",
    )

/**
 * Example "me" profile.
 */
val meProfile =
    ProfileScreenState(
        userId = "me",
        photo = R.drawable.ali,
        name = "Ali Conors",
        status = "Online",
        displayName = "aliconors",
        position = "Senior Android Dev at Yearin\nGoogle Developer Expert",
        twitter = "twitter.com/aliconors",
        timeZone = "In your timezone",
        commonChannels = null,
    )

val a14Device =
    DeviceScreenState(
        deviceId = "012345",
        name = "Samsung A14",
        phoneNumbers = listOf("+420123456789", "+420777444111")
    )

val iPhoneDevice =
    DeviceScreenState(
        deviceId = "012345",
        name = "iPhone XYZ",
        phoneNumbers = listOf("+15558881111")
    )
