From 0e5ac01783bc151d6689452ca3cdf9c681ee9c8e Mon Sep 17 00:00:00 2001 From: Matt McCoy Date: Tue, 26 Mar 2024 22:09:53 -0400 Subject: [PATCH 1/5] feat: profile hifi --- backend/db/migrations/3.task.sql | 26 ++++- backend/go.mod | 32 +++--- backend/go.sum | 91 +++++++----------- client/App.tsx | 20 +++- .../fonts/Manrope-VariableFont_wght.ttf | Bin 0 -> 164936 bytes client/assets/profile/edit.svg | 8 +- client/assets/profile/folderopen.svg | 7 ++ client/assets/profile/rightarrow.svg | 6 ++ client/assets/profile/settings.svg | 5 + client/components/profile/CircleCard.tsx | 10 +- client/components/profile/Group.tsx | 56 +++++------ client/components/profile/Header.tsx | 58 +++++------ .../components/profile/ProfileTopHeader.tsx | 46 --------- .../components/profile/UserTaskStatusCard.tsx | 35 +++++++ .../navigation/AppStackBottomTabNavigator.tsx | 7 +- client/package.json | 3 +- client/screens/Calendar.tsx | 8 +- client/screens/Profile/Profile.tsx | 68 +++++++------ client/services/task.ts | 5 +- client/tailwind.config.js | 4 + 20 files changed, 258 insertions(+), 237 deletions(-) create mode 100644 client/assets/fonts/Manrope-VariableFont_wght.ttf create mode 100644 client/assets/profile/folderopen.svg create mode 100644 client/assets/profile/rightarrow.svg create mode 100644 client/assets/profile/settings.svg delete mode 100644 client/components/profile/ProfileTopHeader.tsx create mode 100644 client/components/profile/UserTaskStatusCard.tsx diff --git a/backend/db/migrations/3.task.sql b/backend/db/migrations/3.task.sql index 3e1f53b..67f7548 100644 --- a/backend/db/migrations/3.task.sql +++ b/backend/db/migrations/3.task.sql @@ -3,7 +3,8 @@ DROP TABLE IF EXISTS task_assignees; DROP TABLE IF EXISTS task_labels; CREATE TYPE task_assignment_status AS ENUM ('ACCEPTED', 'DECLINED', 'NOTIFIED'); -CREATE TYPE task_status AS ENUM ('INCOMPLETE', 'COMPLETE', 'PARTIAL'); +CREATE TYPE task_status AS ENUM ('INCOMPLETE', 'COMPLETE', 'INPROGRESS', +'OVERDUE', 'TODO'); CREATE TYPE task_type AS ENUM ('med_mgmt', 'dr_appt', 'financial', 'other'); CREATE TABLE IF NOT EXISTS task ( @@ -44,7 +45,7 @@ INSERT INTO task (task_title, group_id, created_by, created_date, start_date, en VALUES ('task 1', 1, 'user2', '2024-02-03 10:45:00', '2024-02-05 10:00:00', '2024-02-05 11:00:00', 'Pick up medication from pharmacy', 'INCOMPLETE', 'med_mgmt', FALSE), ('task 2', 2, 'user3', '2024-02-20 23:59:59', '2024-02-10 14:30:00', NULL, 'Schedule doctor appointment', 'INCOMPLETE', 'other', FALSE), - ('task 3', 3, 'user4', '2020-02-05 11:00:00', NULL, '2024-02-20 23:59:59', 'Submit insurance claim', 'PARTIAL', 'financial', FALSE), + ('task 3', 3, 'user4', '2020-02-05 11:00:00', NULL, '2024-02-20 23:59:59', 'Submit insurance claim', 'INPROGRESS', 'financial', FALSE), ('task 4', 4, 'user1', '2006-01-02 15:04:05', NULL, NULL, 'Refill water pitcher', 'COMPLETE', 'other', TRUE), ('task 1 - NO LABEL', 1, 'user2', '2024-02-03 10:45:00', '2024-02-05 10:00:00', '2024-02-05 11:00:00', 'Pick up medication from pharmacy', 'INCOMPLETE', 'med_mgmt', FALSE), ('task 5', 5, 'user1', '2024-03-19 11:00:00', '2024-03-19 15:00:00', '2024-03-19 19:00:00', 'Get medications', 'INCOMPLETE', 'dr_appt', TRUE), @@ -53,8 +54,15 @@ VALUES ('task 8', 5, 'user1', '2024-03-19 11:00:00', '2024-03-19 15:00:00', '2024-03-19 19:00:00', 'Get medications', 'INCOMPLETE', 'dr_appt', FALSE), ('task 9', 5, 'user2', '2024-03-19 11:00:00', '2024-03-19 11:00:00', '2024-03-19 13:00:00', 'File Papers', 'INCOMPLETE', 'med_mgmt', FALSE), ('task 10', 5, 'user3', '2024-03-19 11:00:00', '2024-03-19 07:00:00', '2024-03-19 09:00:00', 'Send check to Drs', 'INCOMPLETE', 'financial', FALSE), - ('test tile', 5, 'P03ggWcw63N0RSY7ltbkeBoR6bd2', '2020-02-05 11:00:00', NULL, '2024-02-20 23:59:59', 'Submit insurance claim', 'PARTIAL', 'financial', FALSE), - ('test tile', 5, 'P03ggWcw63N0RSY7ltbkeBoR6bd2', '2024-02-20 23:59:59', '2024-02-10 14:30:00', NULL, 'Schedule doctor appointment', 'INCOMPLETE', 'med_mgmt', FALSE) + ('test tile', 5, 'P03ggWcw63N0RSY7ltbkeBoR6bd2', '2020-02-05 11:00:00', NULL, '2024-02-20 23:59:59', 'Submit insurance claim', 'INPROGRESS', 'financial', FALSE), + ('test tile', 5, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', '2024-02-20 23:59:59', '2024-03-29 07:00:00', '2024-03-29 08:00:00', 'Schedule doctor appointment', 'TODO', 'med_mgmt', FALSE), + ('test tile', 5, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', '2024-02-20 23:59:59', '2024-03-29 08:00:00', '2024-03-29 09:00:00', 'Schedule doctor appointment', 'INPROGRESS', 'med_mgmt', FALSE), + ('test tile', 5, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', '2024-02-20 23:59:59', '2024-03-29 09:00:00', '2024-03-29 10:00:00', 'Schedule doctor appointment', 'TODO', 'med_mgmt', FALSE), + ('test tile', 5, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', '2024-02-20 23:59:59', '2024-03-29 10:00:00', '2024-03-29 11:00:00', 'Schedule doctor appointment', 'TODO', 'med_mgmt', FALSE), + ('test tile', 5, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', '2024-02-20 23:59:59', '2024-03-29 11:00:00', '2024-03-29 12:00:00', 'Schedule doctor appointment', 'TODO', 'med_mgmt', FALSE), + ('test tile', 5, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', '2024-02-20 23:59:59', '2024-03-29 12:00:00', '2024-03-29 13:00:00', 'Schedule doctor appointment', 'INPROGRESS', 'med_mgmt', FALSE), + ('test tile', 5, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', '2024-02-20 23:59:59', '2024-03-29 13:00:00', '2024-03-29 14:00:00', 'Schedule doctor appointment', 'INPROGRESS', 'med_mgmt', FALSE), + ('test tile', 5, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', '2024-02-20 23:59:59', '2024-03-29 19:00:00', '2024-03-29 23:00:00', 'Schedule doctor appointment', 'INPROGRESS', 'med_mgmt', FALSE) ; INSERT INTO task_assignees (task_id, user_id, assignment_status, assigned_by, assigned_date) @@ -62,5 +70,13 @@ VALUES (1, 'user1', 'ACCEPTED', 'user2', NOW()), (2, 'user3', 'NOTIFIED', 'user3', NOW()), (3, 'user4', 'DECLINED', 'user4', NOW()), - (4, 'user2', 'DECLINED', 'user1', NOW()) + (4, 'user2', 'DECLINED', 'user1', NOW()), + (13, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', 'ACCEPTED', 'user2', NOW()), + (14, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', 'NOTIFIED', 'user3', NOW()), + (15, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', 'DECLINED', 'user4', NOW()), + (16, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', 'ACCEPTED', 'user2', NOW()), + (17, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', 'NOTIFIED', 'user3', NOW()), + (18, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', 'DECLINED', 'user4', NOW()), + (19, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', 'ACCEPTED', 'user2', NOW()), + (20, 'fIoFY26mJnYWH8sNdfuVoxpnVnr1', 'NOTIFIED', 'user3', NOW()) ; diff --git a/backend/go.mod b/backend/go.mod index 8693dce..4637100 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -9,20 +9,18 @@ require ( require ( github.com/KyleBanks/depth v1.2.1 // indirect - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect github.com/chenzhuoyu/iasm v0.9.1 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.6 // indirect - github.com/go-openapi/spec v0.20.4 // indirect - github.com/go-openapi/swag v0.19.15 // indirect + github.com/go-openapi/jsonpointer v0.21.0 // indirect + github.com/go-openapi/jsonreference v0.21.0 // indirect + github.com/go-openapi/spec v0.21.0 // indirect + github.com/go-openapi/swag v0.23.0 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/jackc/puddle/v2 v2.2.1 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/magiconair/properties v1.8.7 // indirect - github.com/mailru/easyjson v0.7.6 // indirect + github.com/mailru/easyjson v0.7.7 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect github.com/sagikazarmark/slog-shim v0.1.0 // indirect @@ -31,28 +29,26 @@ require ( github.com/spf13/cast v1.6.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.6.0 // indirect - go.uber.org/atomic v1.9.0 // indirect - go.uber.org/multierr v1.9.0 // indirect - golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect - golang.org/x/sync v0.5.0 // indirect - golang.org/x/tools v0.13.0 // indirect + go.uber.org/multierr v1.11.0 // indirect + golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 // indirect + golang.org/x/sync v0.6.0 // indirect + golang.org/x/tools v0.19.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect ) require ( - github.com/aws/aws-sdk-go v1.51.3 - github.com/bytedance/sonic v1.11.2 // indirect + github.com/aws/aws-sdk-go v1.51.7 + github.com/bytedance/sonic v1.11.3 // indirect github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect github.com/gabriel-vasile/mimetype v1.4.3 // indirect - github.com/gin-contrib/cors v1.7.0 + github.com/gin-contrib/cors v1.7.1 github.com/gin-contrib/sse v0.1.0 // indirect github.com/go-playground/locales v0.14.1 // indirect github.com/go-playground/universal-translator v0.18.1 // indirect github.com/go-playground/validator/v10 v10.19.0 // indirect github.com/goccy/go-json v0.10.2 // indirect github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect + github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 // indirect github.com/jackc/pgx/v5 v5.5.5 github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/cpuid/v2 v2.2.7 // indirect @@ -61,7 +57,7 @@ require ( github.com/mattn/go-isatty v0.0.20 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/pelletier/go-toml/v2 v2.1.1 // indirect + github.com/pelletier/go-toml/v2 v2.2.0 // indirect github.com/spf13/viper v1.18.2 github.com/swaggo/files v1.0.1 github.com/swaggo/gin-swagger v1.6.0 diff --git a/backend/go.sum b/backend/go.sum index 2bdfabb..4ad3b71 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -1,15 +1,11 @@ github.com/KyleBanks/depth v1.2.1 h1:5h8fQADFrWtarTdtDudMmGsC7GPbOAu6RVB3ffsVFHc= github.com/KyleBanks/depth v1.2.1/go.mod h1:jzSb9d0L43HxTQfT+oSA1EEp2q+ne2uh6XgeJcm8brE= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/aws/aws-sdk-go v1.51.3 h1:OqSyEXcJwf/XhZNVpMRgKlLA9nmbo5X8dwbll4RWxq8= -github.com/aws/aws-sdk-go v1.51.3/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= +github.com/aws/aws-sdk-go v1.51.7 h1:RRjxHhx9RCjw5AhgpmmShq3F4JDlleSkyhYMQ2xUAe8= +github.com/aws/aws-sdk-go v1.51.7/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM= github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM= -github.com/bytedance/sonic v1.11.2 h1:ywfwo0a/3j9HR8wsYGWsIWl2mvRsI950HyoxiBERw5A= -github.com/bytedance/sonic v1.11.2/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= +github.com/bytedance/sonic v1.11.3 h1:jRN+yEjakWh8aK5FzrciUHG8OFXK+4/KrAX/ysEtHAA= +github.com/bytedance/sonic v1.11.3/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4= github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY= github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk= github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0= @@ -17,7 +13,6 @@ github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpV github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0= github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= @@ -28,24 +23,22 @@ github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nos github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= -github.com/gin-contrib/cors v1.7.0 h1:wZX2wuZ0o7rV2/1i7gb4Jn+gW7HBqaP91fizJkBUJOA= -github.com/gin-contrib/cors v1.7.0/go.mod h1:cI+h6iOAyxKRtUtC6iF/Si1KSFvGm/gK+kshxlCi8ro= +github.com/gin-contrib/cors v1.7.1 h1:s9SIppU/rk8enVvkzwiC2VK3UZ/0NNGsWfUKvV55rqs= +github.com/gin-contrib/cors v1.7.1/go.mod h1:n/Zj7B4xyrgk/cX1WCX2dkzFfaNm/xJb6oIUk7WTtps= github.com/gin-contrib/gzip v0.0.6 h1:NjcunTcGAj5CO1gn4N8jHOSIeRFHIbn51z6K+xaN4d4= github.com/gin-contrib/gzip v0.0.6/go.mod h1:QOJlmV2xmayAjkNS2Y8NQsMneuRShOU/kjovCXNuzzk= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg= github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs= -github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= -github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M= -github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM= -github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/jsonpointer v0.21.0 h1:YgdVicSA9vH5RiHs9TZW5oyafXZFc6+2Vc1rr/O9oNQ= +github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= +github.com/go-openapi/jsonreference v0.21.0 h1:Rs+Y7hSXT83Jacb7kFyjn4ijOuVGSvOdF2+tg1TRrwQ= +github.com/go-openapi/jsonreference v0.21.0/go.mod h1:LmZmgsrTkVg9LG4EaHeY8cBDslNPMo06cago5JNLkm4= +github.com/go-openapi/spec v0.21.0 h1:LTVzPc3p/RzRnkQqLRndbAzjY0d0BCL72A6j3CdL9ZY= +github.com/go-openapi/spec v0.21.0/go.mod h1:78u6VdPw81XU44qEWGhtr982gJ5BWg2c0I5XwVMotYk= +github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+GrE= +github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s= github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA= @@ -63,8 +56,8 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a h1:bbPeKD0xmW/Y25WS6cokEszi5g+S0QxI/d45PkRi7Nk= -github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9 h1:L0QtFUgDarD7Fpv9jeVMgy/+Ec0mtnmYuImjTz6dtDA= +github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= github.com/jackc/pgx/v5 v5.5.5 h1:amBjrZVmksIdNjxGW/IiIMzxMKZFelXbUoPNb+8sjQw= github.com/jackc/pgx/v5 v5.5.5/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= @@ -81,11 +74,8 @@ github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa02 github.com/klauspost/cpuid/v2 v2.2.7 h1:ZWSB3igEs+d0qvnxR/ZBzXVmxkgt8DdzP6m9pfuVLDM= github.com/klauspost/cpuid/v2 v2.2.7/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws= github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ= @@ -94,10 +84,8 @@ github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw= github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= @@ -107,14 +95,13 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI= -github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= +github.com/pelletier/go-toml/v2 v2.2.0 h1:QLgLl2yMN7N+ruc31VynXs1vhMZa7CeHHejIeBAsoHo= +github.com/pelletier/go-toml/v2 v2.2.0/go.mod h1:1t835xjRzz80PqgE6HHgN2JOsmgYu/h4qDAS4n929Rs= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= -github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= @@ -132,14 +119,15 @@ github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMV github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/swaggo/files v1.0.1 h1:J1bVJ4XHZNq0I46UU90611i9/YzdrF7x92oX1ig5IdE= @@ -153,10 +141,8 @@ github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2 github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE= github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= -go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= -go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8= golang.org/x/arch v0.7.0 h1:pskyeJh/3AmoQ8CPE95vxHLqp1G1GfGNXTmcl9NEKTc= golang.org/x/arch v0.7.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys= @@ -164,25 +150,23 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9 h1:GoHiUyI/Tp2nVkLI2mCxVkOjsbSXD66ic0XW0js0R9g= -golang.org/x/exp v0.0.0-20230905200255-921286631fa9/go.mod h1:S2oDrQGGwySpoQPVqRShND87VCbxmc6bL1Yd2oYrm6k= +golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8 h1:aAcj0Da7eBAtrTp03QXWvm88pSyOt+UgdZw2BFZ+lEw= +golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= -golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= +golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.22.0 h1:9sGLhx7iRIHEiX0oAJ3MRZMUCElJgy7Br1nO+AMN3Tc= golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= -golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -195,7 +179,6 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= @@ -203,24 +186,20 @@ golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.13.0 h1:Iey4qkscZuv0VvIt8E0neZjtPVQFSc870HQ448QgEmQ= -golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.19.0 h1:tfGCXNR1OsFG+sVdLAitlpjAvD/I6dHDKnYrpEZUHkw= +golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50= diff --git a/client/App.tsx b/client/App.tsx index 911c7ba..d640788 100644 --- a/client/App.tsx +++ b/client/App.tsx @@ -1,23 +1,37 @@ import React from 'react'; -import { SafeAreaView } from 'react-native'; +import { SafeAreaView, Text, View } from 'react-native'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; -import { PaperProvider } from 'react-native-paper'; +import { useFonts } from 'expo-font'; +import { ActivityIndicator, PaperProvider } from 'react-native-paper'; import { CareWalletProvider } from './contexts/CareWalletContext'; import { Router } from './navigation/Router'; export default function App() { const queryClient = new QueryClient(); + const [fontsLoaded] = useFonts({ + Manrope: require('./assets/fonts/Manrope-VariableFont_wght.ttf') + }); + + if (!fontsLoaded) + return ( + + + Loading... + + ); return ( - + + + ); diff --git a/client/assets/fonts/Manrope-VariableFont_wght.ttf b/client/assets/fonts/Manrope-VariableFont_wght.ttf new file mode 100644 index 0000000000000000000000000000000000000000..f39ca39c968c9d921b9c9e6e737ebdd2c1447a15 GIT binary patch literal 164936 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 M1-! literal 0 HcmV?d00001 diff --git a/client/assets/profile/edit.svg b/client/assets/profile/edit.svg index aa15c67..73b311a 100644 --- a/client/assets/profile/edit.svg +++ b/client/assets/profile/edit.svg @@ -1,12 +1,12 @@ - + - + - + - + diff --git a/client/assets/profile/folderopen.svg b/client/assets/profile/folderopen.svg new file mode 100644 index 0000000..0056bc7 --- /dev/null +++ b/client/assets/profile/folderopen.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/client/assets/profile/rightarrow.svg b/client/assets/profile/rightarrow.svg new file mode 100644 index 0000000..58a9d24 --- /dev/null +++ b/client/assets/profile/rightarrow.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/client/assets/profile/settings.svg b/client/assets/profile/settings.svg new file mode 100644 index 0000000..8c0f557 --- /dev/null +++ b/client/assets/profile/settings.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/client/components/profile/CircleCard.tsx b/client/components/profile/CircleCard.tsx index ba2f8c9..54fe883 100644 --- a/client/components/profile/CircleCard.tsx +++ b/client/components/profile/CircleCard.tsx @@ -4,13 +4,15 @@ import { Pressable, Text, View } from 'react-native'; interface CircleCardProps { onTouchEnd?: () => void; ButtonText: string; + Icon: JSX.Element; } -export function CircleCard({ onTouchEnd, ButtonText }: CircleCardProps) { +export function CircleCard({ onTouchEnd, ButtonText, Icon }: CircleCardProps) { return ( - - - {ButtonText} + + {Icon} + + {ButtonText} ); diff --git a/client/components/profile/Group.tsx b/client/components/profile/Group.tsx index 18bcb07..fae9a61 100644 --- a/client/components/profile/Group.tsx +++ b/client/components/profile/Group.tsx @@ -47,32 +47,34 @@ export function Group({ } return ( - setCanPress(false)} - onScrollEndDrag={() => setCanPress(true)} - horizontal - showsHorizontalScrollIndicator={false} - data={users.filter( - (user) => - user.user_id !== activeUser && - user.user_id !== - (roles.find((role) => role.role === Role.PATIENT)?.user_id ?? '') - )} - renderItem={({ item, index }) => ( - { - if (canPress) setActiveUser(item.user_id); - }} - > - - - {item.first_name} - - - )} - /> + + setCanPress(false)} + onScrollEndDrag={() => setCanPress(true)} + horizontal + showsHorizontalScrollIndicator={false} + data={users.filter( + (user) => + user.user_id !== activeUser && + user.user_id !== + (roles.find((role) => role.role === Role.PATIENT)?.user_id ?? '') + )} + renderItem={({ item, index }) => ( + { + if (canPress) setActiveUser(item.user_id); + }} + > + + + {item.first_name} + + + )} + /> + ); } diff --git a/client/components/profile/Header.tsx b/client/components/profile/Header.tsx index 6ae221a..0f3d9e6 100644 --- a/client/components/profile/Header.tsx +++ b/client/components/profile/Header.tsx @@ -1,19 +1,11 @@ import React from 'react'; import { Text, View } from 'react-native'; -import { useNavigation } from '@react-navigation/native'; -import { styled } from 'nativewind'; +import { IconButton } from 'react-native-paper'; -import ArrowLeft from '../../assets/arrow-left.svg'; import Edit from '../../assets/profile/edit.svg'; -import Ellipse from '../../assets/profile/ellipse.svg'; -import { useCareWalletContext } from '../../contexts/CareWalletContext'; -import { AppStackNavigation } from '../../navigation/types'; import { GroupRole, Role } from '../../types/group'; import { User } from '../../types/user'; -import { ProfileTopHeader } from './ProfileTopHeader'; - -const StyledEllipse = styled(Ellipse); interface HeaderProps { user: User | undefined; @@ -21,37 +13,33 @@ interface HeaderProps { } export function Header({ user, role }: HeaderProps) { - const { user: signedInUser } = useCareWalletContext(); - const navigate = useNavigation(); - if (!user) return null; return ( - <> - - - {role?.role === Role.PATIENT || - signedInUser.userID !== user.user_id ? ( - } - /> - ) : ( - } /> - )} - - {`${role?.role.charAt(0)}${role?.role.slice(1).toLowerCase()} ${role?.role !== Role.PATIENT ? 'Caretaker' : ''}`} - - - {user.phone ? user.phone : user.email} + + + + + + {user.first_name} {user.last_name} + + + + {`${role?.role} ${role?.role !== Role.PATIENT ? 'CARETAKER' : ''}`} + + + {user.phone ? user.phone : user.email} + + + } + /> + - - - - - + ); } diff --git a/client/components/profile/ProfileTopHeader.tsx b/client/components/profile/ProfileTopHeader.tsx deleted file mode 100644 index 01add7e..0000000 --- a/client/components/profile/ProfileTopHeader.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import React from 'react'; -import { Text, View } from 'react-native'; - -import { useNavigation } from '@react-navigation/native'; -import { IconButton } from 'react-native-paper'; - -import { AppStackNavigation } from '../../navigation/types'; -import { User } from '../../types/user'; - -interface ProfileTopHeaderProps { - user: User; - onTouchEndLeft?: AppStackNavigation; - leftButtonText?: JSX.Element | string; - onTouchEndRight?: () => void; - rightButtonText?: JSX.Element | string; -} - -export function ProfileTopHeader({ - user, - leftButtonText, - rightButtonText -}: ProfileTopHeaderProps) { - const navigation = useNavigation(); - return ( - - {leftButtonText && ( - leftButtonText} - onPress={() => navigation.goBack()} - /> - )} - - {user.first_name} {user.last_name} - - {rightButtonText && ( - rightButtonText} - /> - )} - - ); -} diff --git a/client/components/profile/UserTaskStatusCard.tsx b/client/components/profile/UserTaskStatusCard.tsx new file mode 100644 index 0000000..75b3e05 --- /dev/null +++ b/client/components/profile/UserTaskStatusCard.tsx @@ -0,0 +1,35 @@ +import React from 'react'; +import { Text, View } from 'react-native'; + +import { useTaskByAssigned } from '../../services/task'; + +export function UserTaskStatusCard({ userID }: { userID: string }) { + const { taskByUser, taskByUserIsLoading } = useTaskByAssigned(userID); + + if (taskByUserIsLoading) { + return Loading...; + } + + return ( + + + YOUR TASKS + {taskByUser?.length ?? 0} + + + IN PROGRESS + + {taskByUser?.filter((task) => task.task_status === 'INPROGRESS') + .length ?? 0} + + + + TO DO + + {taskByUser?.filter((task) => task.task_status === 'TODO').length ?? + 0} + + + + ); +} diff --git a/client/navigation/AppStackBottomTabNavigator.tsx b/client/navigation/AppStackBottomTabNavigator.tsx index 48e1a01..6922d00 100644 --- a/client/navigation/AppStackBottomTabNavigator.tsx +++ b/client/navigation/AppStackBottomTabNavigator.tsx @@ -23,8 +23,11 @@ export function AppStackBottomTabNavigator() { return ( diff --git a/client/screens/Profile/Profile.tsx b/client/screens/Profile/Profile.tsx index 09643b2..2a04674 100644 --- a/client/screens/Profile/Profile.tsx +++ b/client/screens/Profile/Profile.tsx @@ -3,14 +3,17 @@ import { ActivityIndicator, Text, View } from 'react-native'; import { useNavigation } from '@react-navigation/native'; +import Folder from '../../assets/profile/folderopen.svg'; +import RightArrow from '../../assets/profile/rightarrow.svg'; +import Settings from '../../assets/profile/settings.svg'; import { CircleCard } from '../../components/profile/CircleCard'; import { Group } from '../../components/profile/Group'; import { Header } from '../../components/profile/Header'; +import { UserTaskStatusCard } from '../../components/profile/UserTaskStatusCard'; import { useCareWalletContext } from '../../contexts/CareWalletContext'; import { AppStackNavigation } from '../../navigation/types'; import { useAuth } from '../../services/auth'; import { useGroup } from '../../services/group'; -import { useTaskByAssigned } from '../../services/task'; import { useUsers } from '../../services/user'; export default function Profile() { @@ -21,11 +24,10 @@ export default function Profile() { const { users, usersAreLoading } = useUsers( roles?.map((role) => role.user_id) ?? [] ); - const { taskByUser, taskByUserIsLoading } = useTaskByAssigned(activeUser); const { signOutMutation } = useAuth(); - if (rolesAreLoading || usersAreLoading || taskByUserIsLoading) { + if (rolesAreLoading || usersAreLoading) { return ( @@ -43,39 +45,43 @@ export default function Profile() { } return ( - +
user.user_id === activeUser)} role={roles.find((role) => role.user_id === activeUser)} /> - - navigation.navigate('TaskList')} - > - - Your Tasks - {taskByUser?.length ?? 0} - - - - navigation.navigate('PatientView')} + + - - - - - - signOutMutation()} /> + navigation.navigate('TaskList')} + > + + + + } + ButtonText="View Patient Information" + onTouchEnd={() => navigation.navigate('PatientView')} + /> + + + } ButtonText="Settings" /> + + + } + ButtonText="Log Out" + onTouchEnd={() => signOutMutation()} + /> + ); diff --git a/client/services/task.ts b/client/services/task.ts index 68744b3..7ed6b8c 100644 --- a/client/services/task.ts +++ b/client/services/task.ts @@ -47,8 +47,9 @@ const getTaskLabels = async (taskID: string): Promise => { export const useFilteredTasks = (queryParams: TaskQueryParams) => { const { data: tasks, isLoading: tasksIsLoading } = useQuery({ - queryKey: ['filteredTaskList', queryParams], - queryFn: () => getFilteredTasks(queryParams) + queryKey: ['filteredTaskList'], + queryFn: () => getFilteredTasks(queryParams), + refetchInterval: 20000 }); return { tasks, diff --git a/client/tailwind.config.js b/client/tailwind.config.js index 87c6280..1e8fd4c 100644 --- a/client/tailwind.config.js +++ b/client/tailwind.config.js @@ -7,12 +7,16 @@ module.exports = { 'carewallet-black': '#000000', 'carewallet-gray': '#BEBEBE', 'carewallet-lightgray': '#D9D9D9', + 'carewallet-lightergray': '#0000000D', 'carewallet-blue': '#1A56C4', 'carewallet-green': '#4DB8A6', 'carewallet-coral': '#FF6258', 'carewallet-yellow': '#FFD9900', 'carewallet-purple': '#990099', 'carewallet-pink': '#FC2C51' + }, + fontFamily: { + Manrope: ['Manrope'] } }, plugins: [] From ab24742df1d9f185f96116fc07f45fc152a9945b Mon Sep 17 00:00:00 2001 From: Matt McCoy Date: Tue, 26 Mar 2024 22:21:59 -0400 Subject: [PATCH 2/5] fix: update package.json --- client/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/package.json b/client/package.json index a0755e4..80e8cf8 100644 --- a/client/package.json +++ b/client/package.json @@ -30,14 +30,14 @@ "expo-document-picker": "~11.10.1", "expo-file-system": "~16.0.6", "expo-font": "^11.10.3", - "expo-notifications": "~0.20.1", + "expo-notifications": "~0.27.6", "expo-status-bar": "~1.11.1", "firebase": "^10.7.2", "lodash": "^4.17.21", "moment": "^2.30.1", "nativewind": "^2.0.11", "react": "18.2.0", - "react-native": "0.73.4", + "react-native": "0.73.6", "react-native-calendars": "^1.1304.1", "react-native-dropdown-picker": "^5.4.6", "react-native-gesture-handler": "~2.14.0", From 5122d3bb14c35a331b0a1b84d6b648ea01ff9233 Mon Sep 17 00:00:00 2001 From: Matt McCoy Date: Wed, 27 Mar 2024 12:50:00 -0400 Subject: [PATCH 3/5] refactor: utilize googlefont package --- client/App.tsx | 17 ++++++++++++++++- .../assets/fonts/Manrope-VariableFont_wght.ttf | Bin 164936 -> 0 bytes client/components/profile/CircleCard.tsx | 4 +++- client/components/profile/Group.tsx | 4 +++- client/components/profile/Header.tsx | 4 ++-- .../components/profile/UserTaskStatusCard.tsx | 6 +++--- client/package.json | 3 ++- client/tailwind.config.js | 4 +++- 8 files changed, 32 insertions(+), 10 deletions(-) delete mode 100644 client/assets/fonts/Manrope-VariableFont_wght.ttf diff --git a/client/App.tsx b/client/App.tsx index d640788..83b7a23 100644 --- a/client/App.tsx +++ b/client/App.tsx @@ -1,6 +1,15 @@ import React from 'react'; import { SafeAreaView, Text, View } from 'react-native'; +import { + Manrope_200ExtraLight, + Manrope_300Light, + Manrope_400Regular, + Manrope_500Medium, + Manrope_600SemiBold, + Manrope_700Bold, + Manrope_800ExtraBold +} from '@expo-google-fonts/manrope'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { useFonts } from 'expo-font'; import { ActivityIndicator, PaperProvider } from 'react-native-paper'; @@ -11,7 +20,13 @@ import { Router } from './navigation/Router'; export default function App() { const queryClient = new QueryClient(); const [fontsLoaded] = useFonts({ - Manrope: require('./assets/fonts/Manrope-VariableFont_wght.ttf') + Manrope_200ExtraLight, + Manrope_300Light, + Manrope_400Regular, + Manrope_500Medium, + Manrope_600SemiBold, + Manrope_700Bold, + Manrope_800ExtraBold }); if (!fontsLoaded) diff --git a/client/assets/fonts/Manrope-VariableFont_wght.ttf b/client/assets/fonts/Manrope-VariableFont_wght.ttf deleted file mode 100644 index f39ca39c968c9d921b9c9e6e737ebdd2c1447a15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 164936 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 M1-! diff --git a/client/components/profile/CircleCard.tsx b/client/components/profile/CircleCard.tsx index 54fe883..bda2f13 100644 --- a/client/components/profile/CircleCard.tsx +++ b/client/components/profile/CircleCard.tsx @@ -12,7 +12,9 @@ export function CircleCard({ onTouchEnd, ButtonText, Icon }: CircleCardProps) { {Icon} - {ButtonText} + + {ButtonText} + ); diff --git a/client/components/profile/Group.tsx b/client/components/profile/Group.tsx index fae9a61..fafc9e9 100644 --- a/client/components/profile/Group.tsx +++ b/client/components/profile/Group.tsx @@ -70,7 +70,9 @@ export function Group({ > - {item.first_name} + + {item.first_name} + )} diff --git a/client/components/profile/Header.tsx b/client/components/profile/Header.tsx index 0f3d9e6..f5a36e1 100644 --- a/client/components/profile/Header.tsx +++ b/client/components/profile/Header.tsx @@ -28,12 +28,12 @@ export function Header({ user, role }: HeaderProps) { {`${role?.role} ${role?.role !== Role.PATIENT ? 'CARETAKER' : ''}`} - + {user.phone ? user.phone : user.email} } /> diff --git a/client/components/profile/UserTaskStatusCard.tsx b/client/components/profile/UserTaskStatusCard.tsx index 75b3e05..9d1e6ea 100644 --- a/client/components/profile/UserTaskStatusCard.tsx +++ b/client/components/profile/UserTaskStatusCard.tsx @@ -13,18 +13,18 @@ export function UserTaskStatusCard({ userID }: { userID: string }) { return ( - YOUR TASKS + YOUR TASKS {taskByUser?.length ?? 0} - IN PROGRESS + IN PROGRESS {taskByUser?.filter((task) => task.task_status === 'INPROGRESS') .length ?? 0} - TO DO + TO DO {taskByUser?.filter((task) => task.task_status === 'TODO').length ?? 0} diff --git a/client/package.json b/client/package.json index 80e8cf8..d3e27b5 100644 --- a/client/package.json +++ b/client/package.json @@ -14,6 +14,7 @@ "lint:fix": "npm run lint -- --fix" }, "dependencies": { + "@expo-google-fonts/manrope": "^0.2.3", "@firebase/auth": "^1.5.1", "@gorhom/bottom-sheet": "^4.6.1", "@react-native-async-storage/async-storage": "1.21.0", @@ -50,9 +51,9 @@ "devDependencies": { "@babel/core": "^7.20.0", "@trivago/prettier-plugin-sort-imports": "^4.3.0", + "@types/react-native": "^0.73.0", "@types/lodash": "^4.17.0", "@types/react": "^18.2.55", - "@types/react-native": "^0.73.0", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "6.18.0", "eslint": "^8.56.0", diff --git a/client/tailwind.config.js b/client/tailwind.config.js index 1e8fd4c..6d88835 100644 --- a/client/tailwind.config.js +++ b/client/tailwind.config.js @@ -16,7 +16,9 @@ module.exports = { 'carewallet-pink': '#FC2C51' }, fontFamily: { - Manrope: ['Manrope'] + 'carewallet-manrope': ['Manrope_400Regular'], + 'carewallet-manrope-semibold': ['Manrope_600SemiBold'], + 'carewallet-manrope-bold': ['Manrope_700Bold'] } }, plugins: [] From 1148b7f569a73d3184209d510258114b564aa778 Mon Sep 17 00:00:00 2001 From: Matt McCoy Date: Wed, 27 Mar 2024 13:05:55 -0400 Subject: [PATCH 4/5] fix: fix bug where you couldnt directly navigate to task list if it wasnt loaded --- client/navigation/types.ts | 1 + client/screens/Profile/Profile.tsx | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/client/navigation/types.ts b/client/navigation/types.ts index 320ce2f..8b07cdf 100644 --- a/client/navigation/types.ts +++ b/client/navigation/types.ts @@ -14,6 +14,7 @@ export type AppStackParamList = { TaskType: undefined; TaskDisplay: { id: number }; TaskList: undefined; + CalendarContainer: { screen: string; params: { screen: string } } | undefined; CalendarTopNav: undefined; TaskCreation: { taskType: string }; }; diff --git a/client/screens/Profile/Profile.tsx b/client/screens/Profile/Profile.tsx index 2a04674..e4dd0a7 100644 --- a/client/screens/Profile/Profile.tsx +++ b/client/screens/Profile/Profile.tsx @@ -61,7 +61,12 @@ export default function Profile() { /> navigation.navigate('TaskList')} + onTouchEnd={() => { + navigation.navigate('CalendarContainer', { + screen: 'CalendarTopNav', + params: { screen: 'TaskList' } + }); + }} > From 63b16e64df0684b295718e1172981c35fa008a5b Mon Sep 17 00:00:00 2001 From: Matt McCoy Date: Wed, 27 Mar 2024 17:23:54 -0400 Subject: [PATCH 5/5] style: lighten profile background --- client/screens/Profile/Profile.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/screens/Profile/Profile.tsx b/client/screens/Profile/Profile.tsx index e4dd0a7..87a9cbf 100644 --- a/client/screens/Profile/Profile.tsx +++ b/client/screens/Profile/Profile.tsx @@ -45,7 +45,7 @@ export default function Profile() { } return ( - +
user.user_id === activeUser)} role={roles.find((role) => role.user_id === activeUser)}