Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Point Shop Page 2024 #522

Merged
merged 56 commits into from
Feb 4, 2024
Merged
Show file tree
Hide file tree
Changes from 48 commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
738e04a
initial points shop branch
leesunny790 Dec 3, 2023
5ab21e0
Created model class and DAO for point shop to add to Room database
leahlud Dec 10, 2023
28dd2de
Created ShopRepository.kt file with instructions
leahlud Dec 10, 2023
991eaf9
Changed ShopItem format to have itemId
leahlud Dec 16, 2023
572664e
Added api call for shop (tentative)
leahlud Dec 17, 2023
31d3fa4
Merge branch 'development' into sunny/points-shop-2024
leahlud Jan 3, 2024
126e2c3
fixed ktlint and added todo for api call (removed old one)
leahlud Jan 4, 2024
6c47e9c
added ShopItem back
leahlud Jan 4, 2024
f1e883d
points shop title text and color
leesunny790 Jan 8, 2024
1775f68
updated points shop background
leesunny790 Jan 8, 2024
53cca7a
fix build issues
leesunny790 Jan 8, 2024
97b3751
build issues
leesunny790 Jan 8, 2024
b807fd5
Merge branch 'development' into sunny/points-shop-2024
leesunny790 Jan 8, 2024
f6b8873
imported points shop banner
leesunny790 Jan 10, 2024
76aef14
implemented banner
leesunny790 Jan 10, 2024
47c21cc
changed leaderboard fragment name to points shop fragment
leesunny790 Jan 10, 2024
22c7bfe
added divider on top of recyclerview
leesunny790 Jan 10, 2024
d9beff9
updated divider color and thickness
leesunny790 Jan 10, 2024
37de6cf
created separate shop files
leesunny790 Jan 10, 2024
5f744fb
fixed ktlint
leesunny790 Jan 10, 2024
a206995
working on shoptile
leesunny790 Jan 10, 2024
eb5fd02
fixes based on leahs comments
leesunny790 Jan 11, 2024
8a861f8
added shop files needed for api calls, made api calls
leesunny790 Jan 11, 2024
22b5a08
added shopViewModel
leesunny790 Jan 11, 2024
7148752
updated ShopFragment
leesunny790 Jan 13, 2024
372d873
fixed point shop textview constraints
leesunny790 Jan 13, 2024
30068eb
shop recyclerview displays
leesunny790 Jan 13, 2024
5e9c313
added imageURL field to ShopItem
leesunny790 Jan 13, 2024
3721bfa
rough finish of shop_tile, imageView does not work and paddings proba…
leesunny790 Jan 13, 2024
8f72523
fixed quantity string
leesunny790 Jan 13, 2024
e976eaa
trying to add autosizing text for long item names, adjusted padding
leesunny790 Jan 13, 2024
17c3bda
changed to dark fantasy bg png
leesunny790 Jan 13, 2024
5a12c92
added coins field in Profile.kt
leesunny790 Jan 13, 2024
fdf70d8
added coin total view on shop fragment
leesunny790 Jan 13, 2024
a017c07
database change from adding coins field
leesunny790 Jan 13, 2024
ca7d8dd
display user total coins
leesunny790 Jan 13, 2024
a314c7d
coin total working
leesunny790 Jan 13, 2024
fcdc711
new database with profile coins field
leesunny790 Jan 13, 2024
d042333
Added roles check and timer to fetch data every 10 seconds
leahlud Jan 14, 2024
d9fdd64
made small changes to coin view layout
leahlud Jan 14, 2024
6a4d786
updated point shop banner
leesunny790 Jan 18, 2024
d7dbfb5
imageView Glide
leesunny790 Jan 18, 2024
cd8ae8c
started merch/raffle tabs
leesunny790 Jan 18, 2024
849f8d3
fixed cost and quantity margins, fixed shoptile margins
leesunny790 Jan 21, 2024
9746cb6
long shop item name stays on screen
leesunny790 Jan 21, 2024
ef75d15
Merge branch 'development' into sunny/points-shop-2024
leahlud Jan 25, 2024
b4ef4a4
merch/raffle margins fixed
leesunny790 Jan 25, 2024
78c68bf
Merge remote-tracking branch 'origin/sunny/points-shop-2024' into sun…
leesunny790 Jan 25, 2024
77a8415
Modified some of the constraints with shop_tile
leahlud Jan 29, 2024
962649c
More layout constraint modifications
leahlud Jan 29, 2024
382e74c
merch/raffle tabs working to show appropriate items
leesunny790 Feb 4, 2024
84e2764
Fixed brown dividers by adding them to the shop tile layout
leahlud Feb 4, 2024
bf4dc47
Simplified merch/raffle tab logic (removed unnecessary LiveData)
leahlud Feb 4, 2024
e43d7d7
Small layout/padding modifications
leahlud Feb 4, 2024
6c6b73e
added try-catch around Glide image loading
leahlud Feb 4, 2024
ae75c9f
reverted name home_bg_2023 to home_bg
leahlud Feb 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
396 changes: 396 additions & 0 deletions app/schemas/org.hackillinois.android.database.Database/6.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,396 @@
{
"formatVersion": 1,
"database": {
"version": 6,
"identityHash": "afa24420ee99f9757a10c6b1939437f2",
"entities": [
{
"tableName": "qr_codes",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `qrInfo` TEXT NOT NULL, `key` INTEGER NOT NULL, PRIMARY KEY(`key`))",
"fields": [
{
"fieldPath": "userId",
"columnName": "userId",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "qrInfo",
"columnName": "qrInfo",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "key",
"columnName": "key",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"key"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "attendees",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `firstName` TEXT NOT NULL, `lastName` TEXT NOT NULL, `dietary` TEXT NOT NULL, `key` INTEGER NOT NULL, PRIMARY KEY(`key`))",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "firstName",
"columnName": "firstName",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "lastName",
"columnName": "lastName",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "dietary",
"columnName": "dietary",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "key",
"columnName": "key",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"key"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "users",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`userId` TEXT NOT NULL, `name` TEXT NOT NULL, `email` TEXT NOT NULL, `key` INTEGER NOT NULL, PRIMARY KEY(`key`))",
"fields": [
{
"fieldPath": "userId",
"columnName": "userId",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "email",
"columnName": "email",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "key",
"columnName": "key",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"key"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "events",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`eventId` TEXT NOT NULL, `name` TEXT NOT NULL, `description` TEXT NOT NULL, `startTime` INTEGER NOT NULL, `endTime` INTEGER NOT NULL, `locations` TEXT NOT NULL, `sponsor` TEXT NOT NULL, `eventType` TEXT NOT NULL, `points` TEXT NOT NULL, `isAsync` INTEGER NOT NULL, `isPrivate` INTEGER NOT NULL, `displayOnStaffCheckIn` INTEGER NOT NULL, PRIMARY KEY(`eventId`))",
"fields": [
{
"fieldPath": "eventId",
"columnName": "eventId",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "description",
"columnName": "description",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "startTime",
"columnName": "startTime",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "endTime",
"columnName": "endTime",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "locations",
"columnName": "locations",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "sponsor",
"columnName": "sponsor",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "eventType",
"columnName": "eventType",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "points",
"columnName": "points",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "isAsync",
"columnName": "isAsync",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "isPrivate",
"columnName": "isPrivate",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "displayOnStaffCheckIn",
"columnName": "displayOnStaffCheckIn",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"eventId"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "roles",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` TEXT NOT NULL, `roles` TEXT NOT NULL, `key` INTEGER NOT NULL, PRIMARY KEY(`key`))",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "roles",
"columnName": "roles",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "key",
"columnName": "key",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"key"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "profiles",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`_id` TEXT NOT NULL, `displayName` TEXT NOT NULL, `discordTag` TEXT NOT NULL, `avatarUrl` TEXT NOT NULL, `points` INTEGER NOT NULL, `userId` TEXT NOT NULL, `foodWave` INTEGER NOT NULL, `coins` INTEGER NOT NULL, `key` INTEGER NOT NULL, PRIMARY KEY(`key`))",
"fields": [
{
"fieldPath": "_id",
"columnName": "_id",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "displayName",
"columnName": "displayName",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "discordTag",
"columnName": "discordTag",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "avatarUrl",
"columnName": "avatarUrl",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "points",
"columnName": "points",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "userId",
"columnName": "userId",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "foodWave",
"columnName": "foodWave",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "coins",
"columnName": "coins",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "key",
"columnName": "key",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"key"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "leaderboard",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `displayName` TEXT NOT NULL, `points` INTEGER NOT NULL)",
"fields": [
{
"fieldPath": "id",
"columnName": "id",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "displayName",
"columnName": "displayName",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "points",
"columnName": "points",
"affinity": "INTEGER",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"id"
],
"autoGenerate": true
},
"indices": [],
"foreignKeys": []
},
{
"tableName": "shop",
"createSql": "CREATE TABLE IF NOT EXISTS `${TABLE_NAME}` (`itemId` TEXT NOT NULL, `name` TEXT NOT NULL, `price` INTEGER NOT NULL, `isRaffle` INTEGER NOT NULL, `quantity` INTEGER NOT NULL, `imageURL` TEXT NOT NULL, PRIMARY KEY(`itemId`))",
"fields": [
{
"fieldPath": "itemId",
"columnName": "itemId",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "name",
"columnName": "name",
"affinity": "TEXT",
"notNull": true
},
{
"fieldPath": "price",
"columnName": "price",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "isRaffle",
"columnName": "isRaffle",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "quantity",
"columnName": "quantity",
"affinity": "INTEGER",
"notNull": true
},
{
"fieldPath": "imageURL",
"columnName": "imageURL",
"affinity": "TEXT",
"notNull": true
}
],
"primaryKey": {
"columnNames": [
"itemId"
],
"autoGenerate": false
},
"indices": [],
"foreignKeys": []
}
],
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'afa24420ee99f9757a10c6b1939437f2')"
]
}
}
Loading
Loading