├── .gitmodules ├── src ├── SocialQ.iOS │ ├── Resources │ │ ├── Default.png │ │ ├── Default@2x.png │ │ ├── Default-568h@2x.png │ │ ├── Default-Portrait.png │ │ ├── Default-Portrait@2x.png │ │ └── LaunchScreen.storyboard │ ├── Assets.xcassets │ │ └── AppIcon.appiconset │ │ │ ├── 16.png │ │ │ ├── 20.png │ │ │ ├── 29.png │ │ │ ├── 32.png │ │ │ ├── 40.png │ │ │ ├── 48.png │ │ │ ├── 50.png │ │ │ ├── 55.png │ │ │ ├── 57.png │ │ │ ├── 58.png │ │ │ ├── 60.png │ │ │ ├── 64.png │ │ │ ├── 72.png │ │ │ ├── 76.png │ │ │ ├── 80.png │ │ │ ├── 87.png │ │ │ ├── 88.png │ │ │ ├── 100.png │ │ │ ├── 1024.png │ │ │ ├── 114.png │ │ │ ├── 120.png │ │ │ ├── 128.png │ │ │ ├── 144.png │ │ │ ├── 152.png │ │ │ ├── 167.png │ │ │ ├── 172.png │ │ │ ├── 180.png │ │ │ ├── 196.png │ │ │ ├── 216.png │ │ │ ├── 256.png │ │ │ └── 512.png │ ├── Entitlements.plist │ ├── Main.cs │ ├── Info.plist │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Effects │ │ └── LabelShadowEffect.cs │ └── SocialQ.iOS.GeneratedMSBuildEditorConfig.editorconfig ├── SocialQ.Resources │ ├── fa-brands-400.ttf │ ├── fa-solid-900.ttf │ ├── fa-regular-400.ttf │ ├── SocialQ.Resources.csproj │ └── Strings.resx ├── SocialQ.Android │ ├── Resources │ │ ├── mipmap-hdpi │ │ │ ├── icon.png │ │ │ ├── ic_launcher.png │ │ │ └── launcher_foreground.png │ │ ├── mipmap-mdpi │ │ │ ├── icon.png │ │ │ ├── ic_launcher.png │ │ │ └── launcher_foreground.png │ │ ├── mipmap-xhdpi │ │ │ ├── icon.png │ │ │ ├── ic_launcher.png │ │ │ └── launcher_foreground.png │ │ ├── mipmap-xxhdpi │ │ │ ├── icon.png │ │ │ ├── ic_launcher.png │ │ │ └── launcher_foreground.png │ │ ├── mipmap-xxxhdpi │ │ │ ├── icon.png │ │ │ ├── ic_launcher.png │ │ │ └── launcher_foreground.png │ │ ├── mipmap-anydpi-v26 │ │ │ ├── icon.xml │ │ │ └── icon_round.xml │ │ ├── values │ │ │ ├── colors.xml │ │ │ └── styles.xml │ │ ├── layout │ │ │ ├── Toolbar.xml │ │ │ └── Tabbar.xml │ │ └── AboutResources.txt │ ├── Properties │ │ ├── AndroidManifest.xml │ │ └── AssemblyInfo.cs │ ├── MainApplication.cs │ ├── Assets │ │ └── AboutAssets.txt │ ├── Effects │ │ └── LabelShadowEffect.cs │ └── MainActivity.cs ├── SocialQ │ ├── FodyWeavers.xml │ ├── IService.cs │ ├── WellKnownNavigationParameters.cs │ ├── Startup │ │ ├── IInitialize.cs │ │ ├── DelayOperation.cs │ │ ├── IAppStartup.cs │ │ ├── IStartupOperation.cs │ │ ├── UserStartup.cs │ │ ├── StartupOperationBase.cs │ │ ├── AppStartup.cs │ │ ├── NotificationAccessOperation.cs │ │ └── SplashViewModel.cs │ ├── FunctionParameters.cs │ ├── DtoBase.cs │ ├── ISettings.cs │ ├── SignalRParameters.cs │ ├── Queue │ │ ├── QueueHubClient.cs │ │ ├── QueuedStoreDto.cs │ │ ├── IQueueApiContract.cs │ │ ├── EnqueueRequest.cs │ │ ├── IQueueApiClient.cs │ │ ├── IQueueService.cs │ │ ├── QueueApiClient.cs │ │ ├── QueuedItemViewModel.cs │ │ ├── QueueService.cs │ │ └── QueuesViewModel.cs │ ├── ServiceBase.cs │ ├── Stores │ │ ├── StoreCategoryExtensions.cs │ │ ├── Coordinate.cs │ │ ├── Address.cs │ │ ├── StoreCategory.cs │ │ ├── IStoreApiClient.cs │ │ ├── IStoreApiContract.cs │ │ ├── IStoreService.cs │ │ ├── StoreApiClient.cs │ │ ├── StoreService.cs │ │ ├── StoreCardViewModel.cs │ │ └── StoreDto.cs │ ├── Profile │ │ ├── UserDto.cs │ │ ├── SignUpViewModel.cs │ │ └── UserViewModel.cs │ ├── IHubClient.cs │ ├── TimeSpans.cs │ ├── ItemViewModelBase.cs │ ├── MainViewModel.cs │ ├── FodyWeavers.xsd │ ├── Menu │ │ ├── TabViewModel.cs │ │ └── BottomMenuViewModel.cs │ ├── TimeFunctions.cs │ ├── SocialQ.csproj │ ├── SignalRHubClientBase.cs │ ├── DynamicDataFunctions.cs │ ├── IDialogs.cs │ └── RxExtensions.cs ├── SocialQ.Avalonia │ ├── MainViewModel.cs │ ├── MainView.xaml.cs │ ├── Program.cs │ ├── SocialQ.Avalonia.csproj │ └── App.xaml.cs ├── SocialQ.Functions │ ├── DocumentBase.cs │ ├── Queue │ │ ├── QueueDocument.cs │ │ ├── QueueProjection.cs │ │ └── Queue.cs │ ├── host.json │ ├── Store │ │ ├── Coordinate.cs │ │ ├── Address.cs │ │ ├── StoreDocument.cs │ │ └── Stores.cs │ ├── DocumentClientSettings.cs │ ├── User │ │ └── UserDocument.cs │ ├── appsettings.json │ ├── HttpRequestFunctions.cs │ ├── SocialQ.Functions.csproj │ └── Startup.cs ├── SocialQ.Forms │ ├── AssemblyInfo.cs │ ├── Menu │ │ ├── Tabs.xaml.cs │ │ ├── Tabs.xaml │ │ ├── BottomMenu.xaml │ │ └── BottomMenu.xaml.cs │ ├── MainPage.xaml.cs │ ├── Resources │ │ ├── Colors.xaml.cs │ │ ├── Styles.xaml.cs │ │ ├── Converters.xaml.cs │ │ ├── FontAwesome.xaml.cs │ │ ├── Converters.xaml │ │ ├── FontAwesome.xaml │ │ └── Colors.xaml │ ├── Profile │ │ ├── SignUp.xaml.cs │ │ ├── User.xaml │ │ ├── User.xaml.cs │ │ └── SignUp.xaml │ ├── PopupPageBase.cs │ ├── ViewCellBase.cs │ ├── App.xaml │ ├── MainPage.xaml │ ├── Converters │ │ ├── DateTimeConverter.cs │ │ └── StoreCategoryConverter.cs │ ├── Stores │ │ ├── StoreDetail.xaml.cs │ │ ├── StoreCard.xaml.cs │ │ ├── StoreDetail.xaml │ │ ├── StoreCard.xaml │ │ ├── StoreSearch.xaml.cs │ │ └── StoreCardView.xaml.cs │ ├── LocalNotificationDelegate.cs │ ├── Queue │ │ ├── QueuedItemView.xaml.cs │ │ ├── Queues.xaml.cs │ │ ├── Queues.xaml │ │ └── QueuedItemView.xaml │ ├── Authentication │ │ ├── AuthenticationConfig.cs │ │ └── AuthenticationService.cs │ ├── Startup │ │ ├── SplashPage.xaml.cs │ │ └── SplashPage.xaml │ ├── Effects │ │ └── ShadowEffect.cs │ ├── App.xaml.cs │ ├── Settings.cs │ ├── ContentViewBase.cs │ ├── SocialQExceptionHandler.cs │ ├── ContentPageBase.cs │ ├── SocialQ.Forms.csproj │ └── SocialQStartup.cs ├── SocialQ.Mocks │ ├── SocialQ.Mocks.csproj │ ├── Stores │ │ ├── StoreNameCategory.cs │ │ └── StoreApiContractMock.cs │ ├── Queue │ │ ├── QueueApiContractMock.cs │ │ └── QueueHubClientMock.cs │ └── HubClientMock.cs ├── SocialQ.UnitTests │ ├── ExtensionsTests.cs │ ├── Stores │ │ ├── StoreServiceFixture.cs │ │ └── StoreServiceTests.cs │ ├── TimerExtensionTests.cs │ └── SocialQ.UnitTests.csproj └── directory.build.props ├── .github ├── renovate.json └── workflows │ ├── lock.yml │ └── build.yml ├── LICENSE ├── stylecop.json └── README.md /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "Sextant"] 2 | path = Sextant 3 | url = https://github.com/reactiveui/Sextant/ 4 | -------------------------------------------------------------------------------- /src/SocialQ.iOS/Resources/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Resources/Default.png -------------------------------------------------------------------------------- /src/SocialQ.Resources/fa-brands-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Resources/fa-brands-400.ttf -------------------------------------------------------------------------------- /src/SocialQ.Resources/fa-solid-900.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Resources/fa-solid-900.ttf -------------------------------------------------------------------------------- /src/SocialQ.Resources/fa-regular-400.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Resources/fa-regular-400.ttf -------------------------------------------------------------------------------- /src/SocialQ.iOS/Resources/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Resources/Default@2x.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Resources/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Resources/Default-Portrait.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Resources/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Resources/Default-Portrait@2x.png -------------------------------------------------------------------------------- /.github/renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": ["local>reactivemarbles/.github:renovate"] 4 | } -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-hdpi/icon.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-mdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-mdpi/icon.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-xhdpi/icon.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-xxhdpi/icon.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-xxxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-xxxhdpi/icon.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/16.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/20.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/29.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/29.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/32.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/40.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/48.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/50.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/50.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/55.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/55.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/57.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/58.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/58.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/60.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/64.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/72.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/72.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/76.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/80.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/80.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/87.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/87.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/88.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/88.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/100.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/1024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/1024.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/114.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/114.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/120.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/128.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/144.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/152.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/167.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/167.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/172.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/172.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/180.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/196.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/196.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/216.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/216.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/256.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/256.png -------------------------------------------------------------------------------- /src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.iOS/Assets.xcassets/AppIcon.appiconset/512.png -------------------------------------------------------------------------------- /src/SocialQ/FodyWeavers.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /src/SocialQ.Avalonia/MainViewModel.cs: -------------------------------------------------------------------------------- 1 | using ReactiveUI; 2 | 3 | namespace SocialQ.Avalonia 4 | { 5 | public class MainViewModel : ReactiveObject 6 | { 7 | 8 | } 9 | } -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-hdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-hdpi/launcher_foreground.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-mdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-mdpi/launcher_foreground.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-xhdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-xhdpi/launcher_foreground.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-xxhdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-xxhdpi/launcher_foreground.png -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-xxxhdpi/launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/reactivemarbles/SocialQ/HEAD/src/SocialQ.Android/Resources/mipmap-xxxhdpi/launcher_foreground.png -------------------------------------------------------------------------------- /src/SocialQ/IService.cs: -------------------------------------------------------------------------------- 1 | namespace SocialQ 2 | { 3 | /// 4 | /// Interface representing a service. 5 | /// 6 | public interface IService 7 | { 8 | } 9 | } -------------------------------------------------------------------------------- /src/SocialQ.Functions/DocumentBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SocialQ.Functions 4 | { 5 | public abstract class DocumentBase 6 | { 7 | public Guid Id { get; set; } 8 | } 9 | } -------------------------------------------------------------------------------- /src/SocialQ.Functions/Queue/QueueDocument.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SocialQ.Functions.Queue 4 | { 5 | public class QueueDocument : DocumentBase 6 | { 7 | public Guid Store { get; set; } 8 | 9 | public Guid User { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/SocialQ.Functions/host.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0", 3 | "logging": { 4 | "applicationInsights": { 5 | "samplingExcludedTypes": "Request", 6 | "samplingSettings": { 7 | "isEnabled": true 8 | } 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-anydpi-v26/icon.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #FFFFFF 4 | #3F51B5 5 | #303F9F 6 | #FF4081 7 | -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/mipmap-anydpi-v26/icon_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/SocialQ.Forms/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using Xamarin.Forms; 2 | using Xamarin.Forms.Xaml; 3 | 4 | [assembly: XamlCompilation(XamlCompilationOptions.Compile)] 5 | 6 | [assembly: ExportFont("fa-regular-400.ttf", Alias = "FA-R")] 7 | [assembly: ExportFont("fa-solid-900.ttf", Alias = "FA-S")] 8 | [assembly: ExportFont("fa-brands-400.ttf", Alias = "FA-B")] 9 | -------------------------------------------------------------------------------- /src/SocialQ.Functions/Store/Coordinate.cs: -------------------------------------------------------------------------------- 1 | namespace SocialQ.Functions.Store 2 | { 3 | public class Coordinate 4 | { 5 | public double Latitude { get; set; } 6 | 7 | public double Longitude { get; set; } 8 | 9 | public static Coordinate Default => new Coordinate { Latitude = 0, Longitude = 0 }; 10 | } 11 | } -------------------------------------------------------------------------------- /src/SocialQ/WellKnownNavigationParameters.cs: -------------------------------------------------------------------------------- 1 | namespace SocialQ 2 | { 3 | /// 4 | /// Well known navigation parameters. 5 | /// 6 | public class WellKnownNavigationParameters 7 | { 8 | /// 9 | /// Gets the Id. 10 | /// 11 | public static string Id => nameof(Id); 12 | } 13 | } -------------------------------------------------------------------------------- /src/SocialQ.Functions/DocumentClientSettings.cs: -------------------------------------------------------------------------------- 1 | using Microsoft.Azure.Documents.Client; 2 | 3 | namespace SocialQ.Functions 4 | { 5 | public class DocumentClientSettings 6 | { 7 | public string EndpointUrl { get; set; } 8 | public string AuthorizationKey { get; set; } 9 | public ConnectionPolicy ConnectionPolicy { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/SocialQ.Functions/Store/Address.cs: -------------------------------------------------------------------------------- 1 | namespace SocialQ.Functions.Store 2 | { 3 | public class Address 4 | { 5 | public string AddressLine1 { get; set; } 6 | public string AddressLine2 { get; set; } 7 | public string City { get; set; } 8 | public string State { get; set; } 9 | public string ZipCode { get; set; } 10 | } 11 | } -------------------------------------------------------------------------------- /src/SocialQ.Android/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/SocialQ.Functions/User/UserDocument.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SocialQ.Functions.User 4 | { 5 | public class UserDocument : DocumentBase 6 | { 7 | public Guid UserId { get; set; } 8 | 9 | public string Username { get; set; } 10 | 11 | public string Email { get; set; } 12 | 13 | public DateTimeOffset TimeOffset { get; set; } 14 | } 15 | } -------------------------------------------------------------------------------- /src/SocialQ.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | keychain-access-groups 6 | 7 | $(AppIdentifierPrefix)com.myapp.rules 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/SocialQ.Forms/Menu/Tabs.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace SocialQ.Forms.Menu 2 | { 3 | /// 4 | /// Represents the tabs on the menu. 5 | /// 6 | public partial class Tabs 7 | { 8 | /// 9 | /// Initializes a new instance of the class. 10 | /// 11 | public Tabs() => InitializeComponent(); 12 | } 13 | } -------------------------------------------------------------------------------- /src/SocialQ.Forms/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace SocialQ.Forms 2 | { 3 | /// 4 | /// Represents the main page. 5 | /// 6 | public partial class MainPage 7 | { 8 | /// 9 | /// Initializes a new instance of the class. 10 | /// 11 | public MainPage() => InitializeComponent(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/SocialQ.Functions/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Debug", 5 | "System": "Information", 6 | "Microsoft": "Information" 7 | } 8 | }, 9 | "DocumentClientSettings": { 10 | "EndpointUrl": "https://rlittlesii-cosmos.documents.azure.com:443/", 11 | "ConnectionPolicy": { 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /src/SocialQ.Forms/Resources/Colors.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace SocialQ.Forms.Resources 2 | { 3 | /// 4 | /// Represents the application colors. 5 | /// 6 | public partial class Colors 7 | { 8 | /// 9 | /// Initializes a new instance of the class. 10 | /// 11 | public Colors() => InitializeComponent(); 12 | } 13 | } -------------------------------------------------------------------------------- /src/SocialQ.Forms/Resources/Styles.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace SocialQ.Forms.Resources 2 | { 3 | /// 4 | /// Represents the application styles. 5 | /// 6 | public partial class Styles 7 | { 8 | /// 9 | /// Initializes a new instance of the class. 10 | /// 11 | public Styles() => InitializeComponent(); 12 | } 13 | } -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/layout/Toolbar.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/SocialQ.Forms/Resources/Converters.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace SocialQ.Forms.Resources 2 | { 3 | /// 4 | /// Represents the application converters. 5 | /// 6 | public partial class Converters 7 | { 8 | /// 9 | /// Initializes a new instance of the class. 10 | /// 11 | public Converters() => InitializeComponent(); 12 | } 13 | } -------------------------------------------------------------------------------- /src/SocialQ.Forms/Resources/FontAwesome.xaml.cs: -------------------------------------------------------------------------------- 1 | namespace SocialQ.Forms.Resources 2 | { 3 | /// 4 | /// Represents the font awesome font. 5 | /// 6 | public partial class FontAwesome 7 | { 8 | /// 9 | /// Initializes a new instance of the class. 10 | /// 11 | public FontAwesome() => InitializeComponent(); 12 | } 13 | } -------------------------------------------------------------------------------- /src/SocialQ.Mocks/SocialQ.Mocks.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netstandard2.0 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/SocialQ.Functions/Queue/QueueProjection.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using SocialQ.Functions.Store; 3 | using SocialQ.Functions.User; 4 | 5 | namespace SocialQ.Functions.Queue 6 | { 7 | public class QueueProjection : DocumentBase 8 | { 9 | public StoreDocument Store { get; set; } 10 | 11 | public UserDocument User { get; set; } 12 | 13 | public DateTimeOffset RemainingQueueTime { get; set; } = DateTimeOffset.UtcNow; 14 | } 15 | } -------------------------------------------------------------------------------- /src/SocialQ/Startup/IInitialize.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Reactive; 3 | 4 | namespace SocialQ.Startup 5 | { 6 | /// 7 | /// Interface representing an entity that can initialize. 8 | /// 9 | public interface IInitialize 10 | { 11 | /// 12 | /// Initialize the instance. 13 | /// 14 | /// A completion notification. 15 | IObservable Initialize(); 16 | } 17 | } -------------------------------------------------------------------------------- /src/SocialQ.Forms/Resources/Converters.xaml: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/SocialQ.Android/Resources/layout/Tabbar.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/SocialQ/FunctionParameters.cs: -------------------------------------------------------------------------------- 1 | namespace SocialQ 2 | { 3 | /// 4 | /// Parameters for functions. 5 | /// 6 | public class FunctionParameters 7 | { 8 | /// 9 | /// Gets the default parameter. 10 | /// 11 | public static FunctionParameters Default => new FunctionParameters(); 12 | 13 | /// 14 | /// Gets or sets the code. 15 | /// 16 | public string? Code { get; set; } 17 | } 18 | } -------------------------------------------------------------------------------- /src/SocialQ.Forms/Resources/FontAwesome.xaml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/SocialQ/DtoBase.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | namespace SocialQ 4 | { 5 | /// 6 | /// base data transfer object. 7 | /// 8 | public abstract class DtoBase 9 | { 10 | /// 11 | /// Initializes a new instance of the class. 12 | /// 13 | protected DtoBase() => Id = Guid.NewGuid(); 14 | 15 | /// 16 | /// Gets or sets the id. 17 | /// 18 | public Guid Id { get; set; } 19 | } 20 | } -------------------------------------------------------------------------------- /src/SocialQ.Avalonia/MainView.xaml.cs: -------------------------------------------------------------------------------- 1 | using Avalonia.Controls; 2 | using Avalonia.Markup.Xaml; 3 | using Avalonia.ReactiveUI; 4 | using ReactiveUI; 5 | 6 | namespace SocialQ.Avalonia 7 | { 8 | public sealed class MainView : ReactiveWindow 9 | { 10 | public Button SwitchThemeButton => this.FindControl