gayanSandamal / choner-mobile

0 stars 0 forks source link

Challenge Create #60

Closed nisalV closed 2 weeks ago

gayanSandamal commented 2 weeks ago

@nisalV I made some changes with this commit and tried several times add you as a reviewer but this didn't allow me to add. Maybe because you are the creator of PR but this should allow as this should allow peer reviews.

Could you please just walk through my changes and approve them when time permits. Just a reply to this comment is enough

nisalV commented 2 weeks ago

No issues in the commit

gayanSandamal commented 2 weeks ago

@dineshdoluweera please proceed with merging, but appreciate local testing before merging after setting up android studio on your local machine

nisalV commented 2 weeks ago

app> (app)> (tabs)> challenges> on-going-challenges.tsx has some test data

@gayanSandamal Challenge card type:

export enum ChallengeState {
  SCHEDULED = 'scheduled',
  ONGOING = 'ongoing',
  ENDED = 'ended'
}

type ChallengeStates = ChallengeState.SCHEDULED | ChallengeState.ONGOING | ChallengeState.ENDED

export enum UserChallengeStatus {
  NOT_JOINED = 'not-joined',
  PENDING_REQUEST = 'pending-request', // "Allow anyone to join"
  JOINED = 'JOINED',
  COMPLETED = 'completed',
  NOT_COMPLETED = 'not-completed',
  COMPLETE_CONFIRMED = 'complete-confirmed'
}

type UserChallengeStatus = UserChallengeStatus.NOT_JOINED | UserChallengeStatus.PENDING_REQUEST | UserChallengeStatus.JOINED | UserChallengeStatus.COMPLETED | UserChallengeStatus.NOT_COMPLETED | UserChallengeStatus.PENDING_COMPLETE_CONFIRM | UserChallengeStatus.COMPLETE_CONFIRMED

export enum ChallengeType {
  VIRTUAL = 'virtual',
  ON_LOCATION = 'on-location'
}

type ChallengeTypes = ChallengeType.VIRTUAL | ChallengeType.ON_LOCATION

export type ChallengePostCardProps = {
  id: string,
  participantStatus: UserChallengeStatus,
  challengeState: ChallengeStates,
  type: ChallengeTypes,
  participationRangeId: number,
  description: string,
  location: string,
  createdAt: {
      _nanoseconds: number,
      _seconds: number,
  },
  challengeAt: {
      _nanoseconds: number,
      _seconds: number,
  },
  createdUser: {
      uid: string,
      displayName: string,
      profileImageUrl?: string
  }
  participantLimitReached?: boolean
}
gayanSandamal commented 2 weeks ago

app> (app)> (tabs)> challenges> on-going-challenges.tsx has some test data

@gayanSandamal Challenge card type:

This looks great! @nisalV

We may need some changes in keys when the API is ready but we can proceed with this now

@dineshdoluweera waiting for your final approval