From a5e110b876db2cda7c2904b1823add926832bc0e Mon Sep 17 00:00:00 2001 From: Shaun Roselt Date: Sun, 7 Apr 2024 00:15:26 +0200 Subject: [PATCH] Organized Files and Folders --- .github/workflows/static.yml | 2 +- .gitignore => API/.gitignore | 0 API/HaloTracker_API.dpr | 12 + API/HaloTracker_API.dproj | 1026 +++++++++++++ API/achievements.php | 141 ++ App/.gitignore | 76 + App/HaloTracker_App.dpr | 14 + App/HaloTracker_App.dproj | 1366 +++++++++++++++++ App/uIndex.fmx | 11 + App/uIndex.pas | 24 + HaloTracker.groupproj | 60 + Website/.gitignore | 76 + {Data => Website/Data}/Data_Achievements.pas | 0 .../Data}/Data_HTML_Achievements.pas | 0 .../HaloTracker_Web.dpr | 3 +- .../HaloTracker_Web.dproj | 112 +- {Lib => Website/Lib}/uColors.pas | 0 {Lib => Website/Lib}/uCookies.pas | 0 {Lib => Website/Lib}/uUtilities.pas | 0 {Pages => Website/Pages}/u404PageNotFound.dfm | 0 .../Pages}/u404PageNotFound.html | 0 {Pages => Website/Pages}/u404PageNotFound.pas | 0 {Pages => Website/Pages}/uAchievements.dfm | 0 {Pages => Website/Pages}/uAchievements.html | 0 {Pages => Website/Pages}/uAchievements.pas | 0 {Pages => Website/Pages}/uSearch.dfm | 0 {Pages => Website/Pages}/uSearch.html | 0 {Pages => Website/Pages}/uSearch.pas | 0 {Pages => Website/Pages}/uSettings.dfm | 0 {Pages => Website/Pages}/uSettings.html | 0 {Pages => Website/Pages}/uSettings.pas | 0 Website/PopUps/tPopUp.dfm | 271 ++++ Website/PopUps/tPopUp.html | 10 + Website/PopUps/tPopUp.pas | 135 ++ .../TMSWeb}/Release/HaloTracker_Web.js | 0 .../TMSWeb}/Release/assets/achievements.svg | 0 .../TMSWeb}/Release/assets/app.svg | 0 .../TMSWeb}/Release/assets/asterisk.svg | 0 .../Release/assets/background-infinite.jpg | Bin .../TMSWeb}/Release/assets/background-mcc.jpg | Bin .../TMSWeb}/Release/assets/background.mp4 | Bin .../TMSWeb}/Release/assets/bug.svg | 0 .../TMSWeb}/Release/assets/chevron-down.svg | 0 .../TMSWeb}/Release/assets/chevron-up.svg | 0 .../TMSWeb}/Release/assets/copy.svg | 0 .../TMSWeb}/Release/assets/github.svg | 0 .../TMSWeb}/Release/assets/halo-2.png | Bin .../TMSWeb}/Release/assets/halo-3-odst.png | Bin .../TMSWeb}/Release/assets/halo-3.png | Bin .../TMSWeb}/Release/assets/halo-4.png | Bin .../TMSWeb}/Release/assets/halo-5.png | Bin .../TMSWeb}/Release/assets/halo-ce.png | Bin .../TMSWeb}/Release/assets/halo-infinite.png | Bin .../TMSWeb}/Release/assets/halo-mcc.png | Bin .../TMSWeb}/Release/assets/halo-reach.png | Bin .../TMSWeb}/Release/assets/halo5.jpg | Bin .../TMSWeb}/Release/assets/house.svg | 0 .../TMSWeb}/Release/assets/journal-code.svg | 0 .../TMSWeb}/Release/assets/link.svg | 0 .../TMSWeb}/Release/assets/list.svg | 0 .../TMSWeb}/Release/assets/pfp.jpg | Bin .../TMSWeb}/Release/assets/search.svg | 0 .../TMSWeb}/Release/assets/settings.svg | 0 .../TMSWeb}/Release/assets/translate.svg | 0 {TMSWeb => Website/TMSWeb}/Release/index.html | 0 .../TMSWeb}/Release/u404PageNotFound.html | 0 .../TMSWeb}/Release/uAchievements.html | 0 .../TMSWeb}/Release/uIndex.html | 0 .../TMSWeb}/Release/uSearch.html | 0 .../TMSWeb}/Release/uSettings.html | 0 {assets => Website/assets}/achievements.svg | 0 {assets => Website/assets}/app.svg | 0 {assets => Website/assets}/asterisk.svg | 0 .../assets}/background-infinite.jpg | Bin {assets => Website/assets}/background-mcc.jpg | Bin {assets => Website/assets}/background.mp4 | Bin {assets => Website/assets}/bug.svg | 0 {assets => Website/assets}/chevron-down.svg | 0 {assets => Website/assets}/chevron-up.svg | 0 {assets => Website/assets}/copy.svg | 0 {assets => Website/assets}/github.svg | 0 {assets => Website/assets}/halo-2.png | Bin {assets => Website/assets}/halo-3-odst.png | Bin {assets => Website/assets}/halo-3.png | Bin {assets => Website/assets}/halo-4.png | Bin {assets => Website/assets}/halo-5.png | Bin {assets => Website/assets}/halo-ce.png | Bin {assets => Website/assets}/halo-infinite.png | Bin {assets => Website/assets}/halo-mcc.png | Bin {assets => Website/assets}/halo-reach.png | Bin {assets => Website/assets}/halo5.jpg | Bin {assets => Website/assets}/house.svg | 0 {assets => Website/assets}/journal-code.svg | 0 {assets => Website/assets}/link.svg | 0 {assets => Website/assets}/list.svg | 0 {assets => Website/assets}/pfp.jpg | Bin {assets => Website/assets}/search.svg | 0 {assets => Website/assets}/settings.svg | 0 {assets => Website/assets}/translate.svg | 0 index.html => Website/index.html | 0 uIndex.dfm => Website/uIndex.dfm | 0 uIndex.html => Website/uIndex.html | 0 uIndex.pas => Website/uIndex.pas | 0 103 files changed, 3312 insertions(+), 27 deletions(-) rename .gitignore => API/.gitignore (100%) create mode 100644 API/HaloTracker_API.dpr create mode 100644 API/HaloTracker_API.dproj create mode 100644 API/achievements.php create mode 100644 App/.gitignore create mode 100644 App/HaloTracker_App.dpr create mode 100644 App/HaloTracker_App.dproj create mode 100644 App/uIndex.fmx create mode 100644 App/uIndex.pas create mode 100644 HaloTracker.groupproj create mode 100644 Website/.gitignore rename {Data => Website/Data}/Data_Achievements.pas (100%) rename {Data => Website/Data}/Data_HTML_Achievements.pas (100%) rename HaloTracker_Web.dpr => Website/HaloTracker_Web.dpr (88%) rename HaloTracker_Web.dproj => Website/HaloTracker_Web.dproj (95%) rename {Lib => Website/Lib}/uColors.pas (100%) rename {Lib => Website/Lib}/uCookies.pas (100%) rename {Lib => Website/Lib}/uUtilities.pas (100%) rename {Pages => Website/Pages}/u404PageNotFound.dfm (100%) rename {Pages => Website/Pages}/u404PageNotFound.html (100%) rename {Pages => Website/Pages}/u404PageNotFound.pas (100%) rename {Pages => Website/Pages}/uAchievements.dfm (100%) rename {Pages => Website/Pages}/uAchievements.html (100%) rename {Pages => Website/Pages}/uAchievements.pas (100%) rename {Pages => Website/Pages}/uSearch.dfm (100%) rename {Pages => Website/Pages}/uSearch.html (100%) rename {Pages => Website/Pages}/uSearch.pas (100%) rename {Pages => Website/Pages}/uSettings.dfm (100%) rename {Pages => Website/Pages}/uSettings.html (100%) rename {Pages => Website/Pages}/uSettings.pas (100%) create mode 100644 Website/PopUps/tPopUp.dfm create mode 100644 Website/PopUps/tPopUp.html create mode 100644 Website/PopUps/tPopUp.pas rename {TMSWeb => Website/TMSWeb}/Release/HaloTracker_Web.js (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/achievements.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/app.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/asterisk.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/background-infinite.jpg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/background-mcc.jpg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/background.mp4 (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/bug.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/chevron-down.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/chevron-up.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/copy.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/github.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/halo-2.png (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/halo-3-odst.png (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/halo-3.png (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/halo-4.png (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/halo-5.png (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/halo-ce.png (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/halo-infinite.png (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/halo-mcc.png (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/halo-reach.png (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/halo5.jpg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/house.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/journal-code.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/link.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/list.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/pfp.jpg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/search.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/settings.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/assets/translate.svg (100%) rename {TMSWeb => Website/TMSWeb}/Release/index.html (100%) rename {TMSWeb => Website/TMSWeb}/Release/u404PageNotFound.html (100%) rename {TMSWeb => Website/TMSWeb}/Release/uAchievements.html (100%) rename {TMSWeb => Website/TMSWeb}/Release/uIndex.html (100%) rename {TMSWeb => Website/TMSWeb}/Release/uSearch.html (100%) rename {TMSWeb => Website/TMSWeb}/Release/uSettings.html (100%) rename {assets => Website/assets}/achievements.svg (100%) rename {assets => Website/assets}/app.svg (100%) rename {assets => Website/assets}/asterisk.svg (100%) rename {assets => Website/assets}/background-infinite.jpg (100%) rename {assets => Website/assets}/background-mcc.jpg (100%) rename {assets => Website/assets}/background.mp4 (100%) rename {assets => Website/assets}/bug.svg (100%) rename {assets => Website/assets}/chevron-down.svg (100%) rename {assets => Website/assets}/chevron-up.svg (100%) rename {assets => Website/assets}/copy.svg (100%) rename {assets => Website/assets}/github.svg (100%) rename {assets => Website/assets}/halo-2.png (100%) rename {assets => Website/assets}/halo-3-odst.png (100%) rename {assets => Website/assets}/halo-3.png (100%) rename {assets => Website/assets}/halo-4.png (100%) rename {assets => Website/assets}/halo-5.png (100%) rename {assets => Website/assets}/halo-ce.png (100%) rename {assets => Website/assets}/halo-infinite.png (100%) rename {assets => Website/assets}/halo-mcc.png (100%) rename {assets => Website/assets}/halo-reach.png (100%) rename {assets => Website/assets}/halo5.jpg (100%) rename {assets => Website/assets}/house.svg (100%) rename {assets => Website/assets}/journal-code.svg (100%) rename {assets => Website/assets}/link.svg (100%) rename {assets => Website/assets}/list.svg (100%) rename {assets => Website/assets}/pfp.jpg (100%) rename {assets => Website/assets}/search.svg (100%) rename {assets => Website/assets}/settings.svg (100%) rename {assets => Website/assets}/translate.svg (100%) rename index.html => Website/index.html (100%) rename uIndex.dfm => Website/uIndex.dfm (100%) rename uIndex.html => Website/uIndex.html (100%) rename uIndex.pas => Website/uIndex.pas (100%) diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml index 2674200..9e3efc6 100644 --- a/.github/workflows/static.yml +++ b/.github/workflows/static.yml @@ -37,7 +37,7 @@ jobs: uses: actions/upload-pages-artifact@v3 with: # Upload entire repository - path: 'TMSWeb/Release/' + path: 'Website/TMSWeb/Release/' - name: Deploy to GitHub Pages id: deployment uses: actions/deploy-pages@v4 diff --git a/.gitignore b/API/.gitignore similarity index 100% rename from .gitignore rename to API/.gitignore diff --git a/API/HaloTracker_API.dpr b/API/HaloTracker_API.dpr new file mode 100644 index 0000000..4764c9b --- /dev/null +++ b/API/HaloTracker_API.dpr @@ -0,0 +1,12 @@ +program HaloTracker_API; + +{$APPTYPE CONSOLE} + +{$R *.res} + +uses + browserconsole; + +begin + // 🤘🏻🤘🏻🤘🏻 +end. diff --git a/API/HaloTracker_API.dproj b/API/HaloTracker_API.dproj new file mode 100644 index 0000000..9a96da5 --- /dev/null +++ b/API/HaloTracker_API.dproj @@ -0,0 +1,1026 @@ + + + {CDF2DFB4-0C8A-4595-89A7-309ABCACD887} + 20.1 + VCL + True + Debug + Win32 + HaloTracker_API + 1 + Console + HaloTracker_API.dpr + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + .\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + 2 + $(BDS)\bin\delphi_PROJECTICON.ico + $(BDS)\bin\delphi_PROJECTICNS.icns + HaloTracker_API + + + vclwinx;DataSnapServer;FMXTMSFNCCorePkgDXE15;fmx;emshosting;vclie;DbxCommonDriver;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;Skia.Package.RTL;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;WakaTimePlugin12_0;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;DBXOdbcDriver;dbrtl;FireDACDBXDriver;Skia.Package.FMX;FireDACOracleDriver;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;vcldsnap;DBXInterBaseDriver;OmniThreadLibraryRuntime;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;Skia.Package.VCL;VCLTMSFNCUIPackPkgDXE15;vcldb;ibxbindings;vclFireDAC;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;DBXSybaseASEDriver;TMSWEBCorePkgDXE15;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;ibxpress;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;vclib;fmxobj;bindcompvclsmp;FMXTee;DataSnapNativeClient;TMSWEBCorePkgLibDXE15;VCLTMSFNCCorePkgDXE15;DatasnapConnectorsFreePascal;soaprtl;FMXTMSFNCUIPackPkgDXE15;soapserver;FireDACIBDriver;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + vclwinx;DataSnapServer;FMXTMSFNCCorePkgDXE15;fmx;emshosting;vclie;DbxCommonDriver;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;DBXOdbcDriver;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;vcldsnap;DBXInterBaseDriver;OmniThreadLibraryRuntime;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;Skia.Package.VCL;VCLTMSFNCUIPackPkgDXE15;vcldb;ibxbindings;vclFireDAC;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;ibxpress;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;vclib;fmxobj;bindcompvclsmp;FMXTee;DataSnapNativeClient;VCLTMSFNCCorePkgDXE15;DatasnapConnectorsFreePascal;soaprtl;FMXTMSFNCUIPackPkgDXE15;soapserver;FireDACIBDriver;$(DCC_UsePackage) + + + DEBUG;$(DCC_Define) + true + false + true + true + true + true + true + 2 + $(TMSWebDefines);DEBUG + + + false + + + false + RELEASE;$(DCC_Define) + 0 + 0 + 2 + 2 + $(TMSWebDefines);RELEASE + + + + MainSource + + + + + + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + + + + Delphi.Personality.12 + Console + + + + HaloTracker_API.dpr + + + + + + .\ + true + + + + + .\ + true + + + + + .\ + true + + + + + .\ + true + + + + + .\ + true + + + + + HaloTracker_API.exe + true + + + + + .\ + true + + + + + 1 + + + 0 + + + + + classes + 64 + + + classes + 64 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-anydpi-v21 + 1 + + + res\drawable-anydpi-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values-v31 + 1 + + + res\values-v31 + 1 + + + + + res\drawable-anydpi-v26 + 1 + + + res\drawable-anydpi-v26 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-anydpi-v33 + 1 + + + res\drawable-anydpi-v33 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-night-v21 + 1 + + + res\values-night-v21 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable-anydpi-v24 + 1 + + + res\drawable-anydpi-v24 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-night-anydpi-v21 + 1 + + + res\drawable-night-anydpi-v21 + 1 + + + + + res\drawable-anydpi-v31 + 1 + + + res\drawable-anydpi-v31 + 1 + + + + + res\drawable-night-anydpi-v31 + 1 + + + res\drawable-night-anydpi-v31 + 1 + + + + + 1 + + + 1 + + + 0 + + + + + 1 + .framework + + + 1 + .framework + + + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 1 + + + + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + + + + 1 + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + + + + + + + + + + + + + True + False + + + 12 + + + + + diff --git a/API/achievements.php b/API/achievements.php new file mode 100644 index 0000000..9973201 --- /dev/null +++ b/API/achievements.php @@ -0,0 +1,141 @@ + $url, + CURLOPT_RETURNTRANSFER => true, + CURLOPT_TIMEOUT => 30, + CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1, + CURLOPT_CUSTOMREQUEST => 'GET', + CURLOPT_HTTPHEADER => ['cache-control: no-cache'], + ]); + + // Execute the cURL request + $response = curl_exec($curl); + $error = curl_error($curl); + + // Close the cURL session + curl_close($curl); + + if ($error) { + // Handle any errors here + return [ + "success" => false, + "error" => $error + ]; + } else { + return [ + "success" => true, + "response" => $response + ]; + } + } + + $Platform_Param = $_GET['platform']; + $SteamID_Param = $_GET['steamid']; + $Game_Param = $_GET['game']; + $GameID = ""; + + $Games = [ + "halomcc" => [ + "name" => "Halo: The Master Chief Collection", + "id" => "976730" + ], + "haloinfinite" => [ + "name" => "Halo Infinite", + "id" => "1240440" + ] + ]; + + $Platforms = [ + "steam" + ]; + + $MyJSON = [ + "success" => true + ]; + + $Platform_Found = False; + foreach ($Platforms as $Platform) { + if ((strtolower($Platform_Param) === $Platform) || ($Platform_Param == "")) { + $Platform_Found = True; + foreach ($Games as $key => $Game) { + if ((strtolower($Game_Param) === $key) || ($Game_Param == "")) { + $GameID = $Game["id"]; + + $url = "https://steamcommunity.com/id/$SteamID_Param/stats/$GameID/achievements/"; + + $response = apiGet($url); + + // echo $response["response"]; + + if ($response["success"] === false) { + $MyJSON["success"] = false; + $MyJSON["reason"] = "API Failed"; + } else { + $dom = new DOMDocument; + libxml_use_internal_errors(true); + $dom->loadHTML($response["response"]); + libxml_clear_errors(); + + $ProfileFound = False; + if (($MyJSON[$Platform]["profile"]["name"] === "") || ($MyJSON[$Platform]["profile"]["name"] === null)) { + $profile_name = ""; + $profile_picture = "assets/pfp.jpg"; + $profile_name_text_content = $dom->getElementById("responsive_page_template_content")->getElementsByTagName("a"); + // loop through all anchor elements and find the one that contains a class of persona_name_text_content + foreach ($profile_name_text_content as $element) { + $class = $element->getAttribute("class"); + if (strpos($class, 'persona_name_text_content') !== false) { + $profile_name = trim($element->textContent); + $ProfileFound = True; + } + } + $profile_picture_div = $dom->getElementById("responsive_page_template_content")->getElementsByTagName("div"); + // loop through all divs and find the one that contains a class of playerAvatar + foreach ($profile_picture_div as $element) { + $class = $element->getAttribute("class"); + if (strpos($class, "playerAvatar") !== false) { + $profile_picture = $element->getElementsByTagName("img")[0]->getAttribute("src"); + } + } + if ($ProfileFound === True) { + $MyJSON[$Platform]["profile"] = [ + "name" => $profile_name, + "profile_picture" => $profile_picture, + ]; + } + } + + $achievements_earned = $dom->getElementById("topSummaryAchievements"); + + if ($achievements_earned) { + $MyJSON[$Platform]["games"][] = [ + "name" => $Game["name"], + "achievements_earned" => str_replace(" achievements earned:", "", trim($achievements_earned->textContent)), + "achievements" => [] + ]; + } else { + $MyJSON["success"] = false; + $MyJSON["reason"] = "achievements_earned Not Found"; + } + } + } + } + } + } + + if ($Platform_Found === False) { + $MyJSON["success"] = false; + $MyJSON["reason"] = "Platform ($Platform_Param) not supported"; + } + + echo json_encode($MyJSON); +?> + diff --git a/App/.gitignore b/App/.gitignore new file mode 100644 index 0000000..a5d1cca --- /dev/null +++ b/App/.gitignore @@ -0,0 +1,76 @@ +# Uncomment these types if you want even more clean repository. But be careful. +# It can make harm to an existing project source. Read explanations below. +# +# Resource files are binaries containing manifest, project icon and version info. +# They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files. +#*.res +# +# Type library file (binary). In old Delphi versions it should be stored. +# Since Delphi 2009 it is produced from .ridl file and can safely be ignored. +#*.tlb +# +# Diagram Portfolio file. Used by the diagram editor up to Delphi 7. +# Uncomment this if you are not using diagrams or use newer Delphi version. +#*.ddp +# +# Visual LiveBindings file. Added in Delphi XE2. +# Uncomment this if you are not using LiveBindings Designer. +#*.vlb +# +# Deployment Manager configuration file for your project. Added in Delphi XE2. +# Uncomment this if it is not mobile development and you do not use remote debug feature. +#*.deployproj +# +# C++ object files produced when C/C++ Output file generation is configured. +# Uncomment this if you are not using external objects (zlib library for example). +#*.obj +# + +# Delphi compiler-generated binaries (safe to delete) +*.exe +*.dll +*.bpl +*.bpi +*.dcp +*.so +*.apk +*.drc +*.map +*.dres +*.rsm +*.tds +*.dcu +*.lib +*.a +*.o +*.ocx + +# Delphi autogenerated files (duplicated info) +*.cfg +*.hpp +*Resource.rc + +# Delphi local files (user-specific info) +*.local +*.identcache +*.projdata +*.tvsconfig +*.dsk + +# Delphi history and backups +__history/ +__recovery/ +*.~* + +# Castalia statistics file (since XE7 Castalia is distributed with Delphi) +*.stat + +# Boss dependency manager vendor folder https://github.com/HashLoad/boss +modules/ + +# Compiled Binary Folders +Android64/ +Linux64/ +Win32/ +Win64/ +TMSWEB/DEBUG/ diff --git a/App/HaloTracker_App.dpr b/App/HaloTracker_App.dpr new file mode 100644 index 0000000..942df2e --- /dev/null +++ b/App/HaloTracker_App.dpr @@ -0,0 +1,14 @@ +program HaloTracker_App; + +uses + System.StartUpCopy, + FMX.Forms, + uIndex in 'uIndex.pas' {frmMain}; + +{$R *.res} + +begin + Application.Initialize; + Application.CreateForm(TfrmMain, frmMain); + Application.Run; +end. diff --git a/App/HaloTracker_App.dproj b/App/HaloTracker_App.dproj new file mode 100644 index 0000000..f813432 --- /dev/null +++ b/App/HaloTracker_App.dproj @@ -0,0 +1,1366 @@ + + + {AC4FB5C0-CDEF-4D24-89D9-0DDE905924C1} + 20.1 + FMX + True + Debug + Win64 + HaloTracker_App + 693395 + Application + HaloTracker_App.dpr + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + .\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + true + true + true + true + true + true + true + true + $(BDS)\bin\delphi_PROJECTICON.ico + $(BDS)\bin\delphi_PROJECTICNS.icns + HaloTracker_App + + + fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;ibmonitor;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;CustomIPTransport;DBXInterBaseDriver;IndySystem;ibxbindings;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;ibxpress;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + true + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + true + true + $(BDS)\bin\Artwork\Android\FM_AdaptiveIcon_Monochrome.xml + $(BDS)\bin\Artwork\Android\FM_AdaptiveIcon_Foreground.xml + $(BDS)\bin\Artwork\Android\FM_AdaptiveIcon_Background.xml + $(BDS)\bin\Artwork\Android\FM_VectorizedSplash.xml + $(BDS)\bin\Artwork\Android\FM_VectorizedSplashDark.xml + $(BDS)\bin\Artwork\Android\FM_VectorizedSplashV31.xml + $(BDS)\bin\Artwork\Android\FM_VectorizedSplashV31Dark.xml + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png + false + true + $(BDS)\bin\Artwork\Android\FM_VectorizedNotificationIcon.xml + activity-1.7.2.dex.jar;annotation-experimental-1.3.0.dex.jar;annotation-jvm-1.6.0.dex.jar;annotations-13.0.dex.jar;appcompat-1.2.0.dex.jar;appcompat-resources-1.2.0.dex.jar;billing-6.0.1.dex.jar;biometric-1.1.0.dex.jar;browser-1.4.0.dex.jar;cloud-messaging.dex.jar;collection-1.1.0.dex.jar;concurrent-futures-1.1.0.dex.jar;core-1.10.1.dex.jar;core-common-2.2.0.dex.jar;core-ktx-1.10.1.dex.jar;core-runtime-2.2.0.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;error_prone_annotations-2.9.0.dex.jar;exifinterface-1.3.6.dex.jar;firebase-annotations-16.2.0.dex.jar;firebase-common-20.3.1.dex.jar;firebase-components-17.1.0.dex.jar;firebase-datatransport-18.1.7.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-encoders-proto-16.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.1.3.dex.jar;firebase-installations-interop-17.1.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-23.1.2.dex.jar;fmx.dex.jar;fragment-1.2.5.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;kotlin-stdlib-1.8.22.dex.jar;kotlin-stdlib-common-1.8.22.dex.jar;kotlin-stdlib-jdk7-1.8.22.dex.jar;kotlin-stdlib-jdk8-1.8.22.dex.jar;kotlinx-coroutines-android-1.6.4.dex.jar;kotlinx-coroutines-core-jvm-1.6.4.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.6.1.dex.jar;lifecycle-livedata-2.6.1.dex.jar;lifecycle-livedata-core-2.6.1.dex.jar;lifecycle-runtime-2.6.1.dex.jar;lifecycle-service-2.6.1.dex.jar;lifecycle-viewmodel-2.6.1.dex.jar;lifecycle-viewmodel-savedstate-2.6.1.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;okio-jvm-3.4.0.dex.jar;play-services-ads-22.2.0.dex.jar;play-services-ads-base-22.2.0.dex.jar;play-services-ads-identifier-18.0.0.dex.jar;play-services-ads-lite-22.2.0.dex.jar;play-services-appset-16.0.1.dex.jar;play-services-base-18.1.0.dex.jar;play-services-basement-18.1.0.dex.jar;play-services-cloud-messaging-17.0.1.dex.jar;play-services-location-21.0.1.dex.jar;play-services-maps-18.1.0.dex.jar;play-services-measurement-base-20.1.2.dex.jar;play-services-measurement-sdk-api-20.1.2.dex.jar;play-services-stats-17.0.2.dex.jar;play-services-tasks-18.0.2.dex.jar;print-1.0.0.dex.jar;profileinstaller-1.3.0.dex.jar;room-common-2.2.5.dex.jar;room-runtime-2.2.5.dex.jar;savedstate-1.2.1.dex.jar;sqlite-2.1.0.dex.jar;sqlite-framework-2.1.0.dex.jar;startup-runtime-1.1.1.dex.jar;tracing-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.1.8.dex.jar;transport-runtime-3.1.8.dex.jar;user-messaging-platform-2.0.0.dex.jar;vectordrawable-1.1.0.dex.jar;vectordrawable-animated-1.1.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.7.0.dex.jar + + + fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;ibmonitor;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;dbrtl;FireDACDBXDriver;CustomIPTransport;DBXInterBaseDriver;IndySystem;ibxbindings;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;ibxpress;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + true + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_192x192.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + true + true + $(BDS)\bin\Artwork\Android\FM_AdaptiveIcon_Monochrome.xml + $(BDS)\bin\Artwork\Android\FM_AdaptiveIcon_Foreground.xml + $(BDS)\bin\Artwork\Android\FM_AdaptiveIcon_Background.xml + $(BDS)\bin\Artwork\Android\FM_VectorizedSplash.xml + $(BDS)\bin\Artwork\Android\FM_VectorizedSplashDark.xml + $(BDS)\bin\Artwork\Android\FM_VectorizedSplashV31.xml + $(BDS)\bin\Artwork\Android\FM_VectorizedSplashV31Dark.xml + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png + false + true + $(BDS)\bin\Artwork\Android\FM_VectorizedNotificationIcon.xml + activity-1.7.2.dex.jar;annotation-experimental-1.3.0.dex.jar;annotation-jvm-1.6.0.dex.jar;annotations-13.0.dex.jar;appcompat-1.2.0.dex.jar;appcompat-resources-1.2.0.dex.jar;billing-6.0.1.dex.jar;biometric-1.1.0.dex.jar;browser-1.4.0.dex.jar;cloud-messaging.dex.jar;collection-1.1.0.dex.jar;concurrent-futures-1.1.0.dex.jar;core-1.10.1.dex.jar;core-common-2.2.0.dex.jar;core-ktx-1.10.1.dex.jar;core-runtime-2.2.0.dex.jar;cursoradapter-1.0.0.dex.jar;customview-1.0.0.dex.jar;documentfile-1.0.0.dex.jar;drawerlayout-1.0.0.dex.jar;error_prone_annotations-2.9.0.dex.jar;exifinterface-1.3.6.dex.jar;firebase-annotations-16.2.0.dex.jar;firebase-common-20.3.1.dex.jar;firebase-components-17.1.0.dex.jar;firebase-datatransport-18.1.7.dex.jar;firebase-encoders-17.0.0.dex.jar;firebase-encoders-json-18.0.0.dex.jar;firebase-encoders-proto-16.0.0.dex.jar;firebase-iid-interop-17.1.0.dex.jar;firebase-installations-17.1.3.dex.jar;firebase-installations-interop-17.1.0.dex.jar;firebase-measurement-connector-19.0.0.dex.jar;firebase-messaging-23.1.2.dex.jar;fmx.dex.jar;fragment-1.2.5.dex.jar;google-play-licensing.dex.jar;interpolator-1.0.0.dex.jar;javax.inject-1.dex.jar;kotlin-stdlib-1.8.22.dex.jar;kotlin-stdlib-common-1.8.22.dex.jar;kotlin-stdlib-jdk7-1.8.22.dex.jar;kotlin-stdlib-jdk8-1.8.22.dex.jar;kotlinx-coroutines-android-1.6.4.dex.jar;kotlinx-coroutines-core-jvm-1.6.4.dex.jar;legacy-support-core-utils-1.0.0.dex.jar;lifecycle-common-2.6.1.dex.jar;lifecycle-livedata-2.6.1.dex.jar;lifecycle-livedata-core-2.6.1.dex.jar;lifecycle-runtime-2.6.1.dex.jar;lifecycle-service-2.6.1.dex.jar;lifecycle-viewmodel-2.6.1.dex.jar;lifecycle-viewmodel-savedstate-2.6.1.dex.jar;listenablefuture-1.0.dex.jar;loader-1.0.0.dex.jar;localbroadcastmanager-1.0.0.dex.jar;okio-jvm-3.4.0.dex.jar;play-services-ads-22.2.0.dex.jar;play-services-ads-base-22.2.0.dex.jar;play-services-ads-identifier-18.0.0.dex.jar;play-services-ads-lite-22.2.0.dex.jar;play-services-appset-16.0.1.dex.jar;play-services-base-18.1.0.dex.jar;play-services-basement-18.1.0.dex.jar;play-services-cloud-messaging-17.0.1.dex.jar;play-services-location-21.0.1.dex.jar;play-services-maps-18.1.0.dex.jar;play-services-measurement-base-20.1.2.dex.jar;play-services-measurement-sdk-api-20.1.2.dex.jar;play-services-stats-17.0.2.dex.jar;play-services-tasks-18.0.2.dex.jar;print-1.0.0.dex.jar;profileinstaller-1.3.0.dex.jar;room-common-2.2.5.dex.jar;room-runtime-2.2.5.dex.jar;savedstate-1.2.1.dex.jar;sqlite-2.1.0.dex.jar;sqlite-framework-2.1.0.dex.jar;startup-runtime-1.1.1.dex.jar;tracing-1.0.0.dex.jar;transport-api-3.0.0.dex.jar;transport-backend-cct-3.1.8.dex.jar;transport-runtime-3.1.8.dex.jar;user-messaging-platform-2.0.0.dex.jar;vectordrawable-1.1.0.dex.jar;vectordrawable-animated-1.1.0.dex.jar;versionedparcelable-1.1.1.dex.jar;viewpager-1.0.0.dex.jar;work-runtime-2.7.0.dex.jar + + + fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;ibmonitor;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;CustomIPTransport;DBXInterBaseDriver;IndySystem;ibxbindings;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;ibxpress;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + iPhoneAndiPad + true + Debug + $(MSBuildProjectName) + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png + + + fmx;DbxCommonDriver;bindengine;IndyIPCommon;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;ibmonitor;FireDACSqliteDriver;DbxClientDriver;soapmidas;fmxFireDAC;dbexpress;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;CustomIPTransport;DBXInterBaseDriver;IndySystem;ibxbindings;bindcomp;FireDACCommon;IndyCore;RESTBackendComponents;bindcompdbx;rtl;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDAC;FireDACDSDriver;xmlrtl;tethering;ibxpress;dsnap;CloudService;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDevelopmentRegion=en;CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleInfoDictionaryVersion=7.1;CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;LSRequiresIPhoneOS=true;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);UIDeviceFamily=iPhone & iPad;NSLocationAlwaysUsageDescription=The reason for accessing the location information of the user;NSLocationWhenInUseUsageDescription=The reason for accessing the location information of the user;NSLocationAlwaysAndWhenInUseUsageDescription=The reason for accessing the location information of the user;UIBackgroundModes=;NSContactsUsageDescription=The reason for accessing the contacts;NSPhotoLibraryUsageDescription=The reason for accessing the photo library;NSPhotoLibraryAddUsageDescription=The reason for adding to the photo library;NSCameraUsageDescription=The reason for accessing the camera;NSFaceIDUsageDescription=The reason for accessing the face id;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSSiriUsageDescription=The reason for accessing Siri;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing bluetooth;NSBluetoothPeripheralUsageDescription=The reason for accessing bluetooth peripherals;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSMotionUsageDescription=The reason for accessing the accelerometer;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers + iPhoneAndiPad + true + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_1024x1024.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_ApplicationIcon_180x180.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_2x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_2x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImage_3x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_LaunchImageDark_3x.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SpotlightSearchIcon_120x120.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_SettingIcon_87x87.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_40x40.png + $(BDS)\bin\Artwork\iOS\iPhone\FM_NotificationIcon_60x60.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_152x152.png + $(BDS)\bin\Artwork\iOS\iPad\FM_ApplicationIcon_167x167.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImage_2x.png + $(BDS)\bin\Artwork\iOS\iPad\FM_LaunchImageDark_2x.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SpotlightSearchIcon_80x80.png + $(BDS)\bin\Artwork\iOS\iPad\FM_SettingIcon_58x58.png + $(BDS)\bin\Artwork\iOS\iPad\FM_NotificationIcon_40x40.png + + + DataSnapServer;fmx;emshosting;DbxCommonDriver;bindengine;FireDACCommonODBC;emsclient;FireDACCommonDriver;IndyProtocols;dbxcds;emsedge;inetdb;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;soapmidas;dbexpress;FireDACInfxDriver;inet;DataSnapCommon;dbrtl;FireDACOracleDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;dsnapxml;DataSnapClient;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;xmlrtl;dsnap;CloudService;FireDACDb2Driver;DataSnapNativeClient;DatasnapConnectorsFreePascal;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + + + DataSnapServer;fmx;DbxCommonDriver;bindengine;IndyIPCommon;FireDACCommonODBC;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;DBXFirebirdDriver;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;soapmidas;fmxFireDAC;dbexpress;DBXMySQLDriver;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;ibxbindings;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;ibxpress;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;DBXInformixDriver;fmxobj;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing the Bluetooth interface + Debug + true + + + DataSnapServer;fmx;DbxCommonDriver;bindengine;IndyIPCommon;FireDACCommonODBC;emsclient;FireDACCommonDriver;IndyProtocols;IndyIPClient;dbxcds;FmxTeeUI;bindcompfmx;DBXFirebirdDriver;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;soapmidas;fmxFireDAC;dbexpress;DBXMySQLDriver;inet;DataSnapCommon;fmxase;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DBXInterBaseDriver;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;ibxbindings;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;RESTComponents;DBXSqliteDriver;IndyIPServer;dsnapxml;DataSnapClient;DataSnapProviderClient;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;ibxpress;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;DBXInformixDriver;fmxobj;FMXTee;DataSnapNativeClient;soaprtl;soapserver;FireDACIBDriver;$(DCC_UsePackage) + CFBundleName=$(MSBuildProjectName);CFBundleDisplayName=$(MSBuildProjectName);CFBundleIdentifier=$(MSBuildProjectName);CFBundleVersion=1.0.0;CFBundleShortVersionString=1.0.0;CFBundlePackageType=APPL;CFBundleSignature=????;CFBundleAllowMixedLocalizations=YES;CFBundleExecutable=$(MSBuildProjectName);NSHighResolutionCapable=true;LSApplicationCategoryType=public.app-category.utilities;NSLocationUsageDescription=The reason for accessing the location information of the user;NSContactsUsageDescription=The reason for accessing the contacts;NSCalendarsUsageDescription=The reason for accessing the calendar data;NSRemindersUsageDescription=The reason for accessing the reminders;NSCameraUsageDescription=The reason for accessing the camera;NSMicrophoneUsageDescription=The reason for accessing the microphone;NSMotionUsageDescription=The reason for accessing the accelerometer;NSDesktopFolderUsageDescription=The reason for accessing the Desktop folder;NSDocumentsFolderUsageDescription=The reason for accessing the Documents folder;NSDownloadsFolderUsageDescription=The reason for accessing the Downloads folder;NSNetworkVolumesUsageDescription=The reason for accessing files on a network volume;NSRemovableVolumesUsageDescription=The reason for accessing files on a removable volume;NSSpeechRecognitionUsageDescription=The reason for requesting to send user data to Apple's speech recognition servers;ITSAppUsesNonExemptEncryption=false;NSBluetoothAlwaysUsageDescription=The reason for accessing the Bluetooth interface + Debug + true + + + vclwinx;DataSnapServer;FMXTMSFNCCorePkgDXE15;fmx;emshosting;vclie;DbxCommonDriver;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;Skia.Package.RTL;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;WakaTimePlugin12_0;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;DBXOdbcDriver;dbrtl;FireDACDBXDriver;Skia.Package.FMX;FireDACOracleDriver;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;vcldsnap;DBXInterBaseDriver;OmniThreadLibraryRuntime;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;Skia.Package.VCL;VCLTMSFNCUIPackPkgDXE15;vcldb;ibxbindings;vclFireDAC;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;DBXSybaseASEDriver;TMSWEBCorePkgDXE15;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;ibxpress;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;vclib;fmxobj;bindcompvclsmp;FMXTee;DataSnapNativeClient;TMSWEBCorePkgLibDXE15;VCLTMSFNCCorePkgDXE15;DatasnapConnectorsFreePascal;soaprtl;FMXTMSFNCUIPackPkgDXE15;soapserver;FireDACIBDriver;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + vclwinx;DataSnapServer;FMXTMSFNCCorePkgDXE15;fmx;emshosting;vclie;DbxCommonDriver;bindengine;IndyIPCommon;VCLRESTComponents;DBXMSSQLDriver;FireDACCommonODBC;emsclient;FireDACCommonDriver;appanalytics;IndyProtocols;vclx;IndyIPClient;dbxcds;vcledge;bindcompvclwinx;FmxTeeUI;emsedge;bindcompfmx;DBXFirebirdDriver;inetdb;ibmonitor;FireDACSqliteDriver;DbxClientDriver;FireDACASADriver;Tee;soapmidas;vclactnband;TeeUI;fmxFireDAC;dbexpress;FireDACInfxDriver;DBXMySQLDriver;VclSmp;inet;DataSnapCommon;vcltouch;fmxase;DBXOdbcDriver;dbrtl;FireDACDBXDriver;FireDACOracleDriver;fmxdae;TeeDB;FireDACMSAccDriver;CustomIPTransport;FireDACMSSQLDriver;DataSnapIndy10ServerTransport;DataSnapConnectors;vcldsnap;DBXInterBaseDriver;OmniThreadLibraryRuntime;FireDACMongoDBDriver;IndySystem;FireDACTDataDriver;Skia.Package.VCL;VCLTMSFNCUIPackPkgDXE15;vcldb;ibxbindings;vclFireDAC;bindcomp;FireDACCommon;DataSnapServerMidas;FireDACODBCDriver;emsserverresource;IndyCore;RESTBackendComponents;bindcompdbx;rtl;FireDACMySQLDriver;FireDACADSDriver;RESTComponents;DBXSqliteDriver;vcl;IndyIPServer;dsnapxml;dsnapcon;DataSnapClient;DataSnapProviderClient;adortl;DBXSybaseASEDriver;DBXDb2Driver;vclimg;DataSnapFireDAC;emsclientfiredac;FireDACPgDriver;FireDAC;FireDACDSDriver;inetdbxpress;xmlrtl;tethering;ibxpress;bindcompvcl;dsnap;CloudService;DBXSybaseASADriver;DBXOracleDriver;FireDACDb2Driver;DBXInformixDriver;vclib;fmxobj;bindcompvclsmp;FMXTee;DataSnapNativeClient;VCLTMSFNCCorePkgDXE15;DatasnapConnectorsFreePascal;soaprtl;FMXTMSFNCUIPackPkgDXE15;soapserver;FireDACIBDriver;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + DEBUG;$(DCC_Define) + true + false + true + true + true + true + true + + + false + PerMonitorV2 + + + PerMonitorV2 + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + PerMonitorV2 + + + PerMonitorV2 + + + + MainSource + + +
frmMain
+ fmx +
+ + + + + + Base + + + Cfg_1 + Base + + + Cfg_2 + Base + +
+ + Delphi.Personality.12 + Application + + + + HaloTracker_App.dpr + + + + + + true + + + + + true + + + + + true + + + + + .\ + true + + + + + .\ + true + + + + + .\ + true + + + + + .\ + true + + + + + HaloTracker_App.exe + true + + + + + HaloTracker_App.exe + true + + + + + HaloTracker_App.rsm + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + classes + 64 + + + classes + 64 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-anydpi-v21 + 1 + + + res\drawable-anydpi-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values-v31 + 1 + + + res\values-v31 + 1 + + + + + res\drawable-anydpi-v26 + 1 + + + res\drawable-anydpi-v26 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-anydpi-v33 + 1 + + + res\drawable-anydpi-v33 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-night-v21 + 1 + + + res\values-night-v21 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable-anydpi-v24 + 1 + + + res\drawable-anydpi-v24 + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-night-anydpi-v21 + 1 + + + res\drawable-night-anydpi-v21 + 1 + + + + + res\drawable-anydpi-v31 + 1 + + + res\drawable-anydpi-v31 + 1 + + + + + res\drawable-night-anydpi-v31 + 1 + + + res\drawable-night-anydpi-v31 + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen + 64 + + + ..\$(PROJECTNAME).launchscreen + 64 + + + + + 1 + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\AppIcon.appiconset + 1 + + + + + + + + + + + + + + + + + True + True + False + True + True + True + False + True + True + True + True + + + 12 + + + + +
diff --git a/App/uIndex.fmx b/App/uIndex.fmx new file mode 100644 index 0000000..0a51d58 --- /dev/null +++ b/App/uIndex.fmx @@ -0,0 +1,11 @@ +object frmMain: TfrmMain + Left = 0 + Top = 0 + Caption = 'Halo Achievement Tracker' + ClientHeight = 480 + ClientWidth = 640 + FormFactor.Width = 320 + FormFactor.Height = 480 + FormFactor.Devices = [Desktop] + DesignerMasterStyle = 0 +end diff --git a/App/uIndex.pas b/App/uIndex.pas new file mode 100644 index 0000000..fb2361f --- /dev/null +++ b/App/uIndex.pas @@ -0,0 +1,24 @@ +unit uIndex; + +interface + +uses + System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, + FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs; + +type + TfrmMain = class(TForm) + private + { Private declarations } + public + { Public declarations } + end; + +var + frmMain: TfrmMain; + +implementation + +{$R *.fmx} + +end. diff --git a/HaloTracker.groupproj b/HaloTracker.groupproj new file mode 100644 index 0000000..08abd1a --- /dev/null +++ b/HaloTracker.groupproj @@ -0,0 +1,60 @@ + + + {B98990D9-6108-4276-B6DD-F50C912492B8} + + + + + + + + + + + + + + Default.Personality.12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Website/.gitignore b/Website/.gitignore new file mode 100644 index 0000000..a5d1cca --- /dev/null +++ b/Website/.gitignore @@ -0,0 +1,76 @@ +# Uncomment these types if you want even more clean repository. But be careful. +# It can make harm to an existing project source. Read explanations below. +# +# Resource files are binaries containing manifest, project icon and version info. +# They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files. +#*.res +# +# Type library file (binary). In old Delphi versions it should be stored. +# Since Delphi 2009 it is produced from .ridl file and can safely be ignored. +#*.tlb +# +# Diagram Portfolio file. Used by the diagram editor up to Delphi 7. +# Uncomment this if you are not using diagrams or use newer Delphi version. +#*.ddp +# +# Visual LiveBindings file. Added in Delphi XE2. +# Uncomment this if you are not using LiveBindings Designer. +#*.vlb +# +# Deployment Manager configuration file for your project. Added in Delphi XE2. +# Uncomment this if it is not mobile development and you do not use remote debug feature. +#*.deployproj +# +# C++ object files produced when C/C++ Output file generation is configured. +# Uncomment this if you are not using external objects (zlib library for example). +#*.obj +# + +# Delphi compiler-generated binaries (safe to delete) +*.exe +*.dll +*.bpl +*.bpi +*.dcp +*.so +*.apk +*.drc +*.map +*.dres +*.rsm +*.tds +*.dcu +*.lib +*.a +*.o +*.ocx + +# Delphi autogenerated files (duplicated info) +*.cfg +*.hpp +*Resource.rc + +# Delphi local files (user-specific info) +*.local +*.identcache +*.projdata +*.tvsconfig +*.dsk + +# Delphi history and backups +__history/ +__recovery/ +*.~* + +# Castalia statistics file (since XE7 Castalia is distributed with Delphi) +*.stat + +# Boss dependency manager vendor folder https://github.com/HashLoad/boss +modules/ + +# Compiled Binary Folders +Android64/ +Linux64/ +Win32/ +Win64/ +TMSWEB/DEBUG/ diff --git a/Data/Data_Achievements.pas b/Website/Data/Data_Achievements.pas similarity index 100% rename from Data/Data_Achievements.pas rename to Website/Data/Data_Achievements.pas diff --git a/Data/Data_HTML_Achievements.pas b/Website/Data/Data_HTML_Achievements.pas similarity index 100% rename from Data/Data_HTML_Achievements.pas rename to Website/Data/Data_HTML_Achievements.pas diff --git a/HaloTracker_Web.dpr b/Website/HaloTracker_Web.dpr similarity index 88% rename from HaloTracker_Web.dpr rename to Website/HaloTracker_Web.dpr index f423eb0..87bc945 100644 --- a/HaloTracker_Web.dpr +++ b/Website/HaloTracker_Web.dpr @@ -14,7 +14,8 @@ uses Data_Achievements in 'Data\Data_Achievements.pas', Data_HTML_Achievements in 'Data\Data_HTML_Achievements.pas', uSettings in 'Pages\uSettings.pas' {Frame_Settings: TWebFrame} {*.html}, - uCookies in 'Lib\uCookies.pas'; + uCookies in 'Lib\uCookies.pas', + tPopUp in 'PopUps\tPopUp.pas' {Template_PopUp: TWebFrame} {*.html}; {$R *.res} diff --git a/HaloTracker_Web.dproj b/Website/HaloTracker_Web.dproj similarity index 95% rename from HaloTracker_Web.dproj rename to Website/HaloTracker_Web.dproj index 437d265..1fafa72 100644 --- a/HaloTracker_Web.dproj +++ b/Website/HaloTracker_Web.dproj @@ -9,6 +9,7 @@ 1 Application HaloTracker_Web.dpr + HaloTracker_Web true @@ -129,17 +130,37 @@ TWebFrame + +
Template_PopUp
+ dfm + TWebFrame +
RCDATA JpgImage_1 - - - - - + + RCDATA + SvgImage_1 + + + RCDATA + SvgImage_2 + + + RCDATA + SvgImage_3 + + + RCDATA + SvgImage_4 + + + RCDATA + SvgImage_5 + RCDATA PngImage_1 @@ -176,32 +197,63 @@ RCDATA PngImage_9 - - RCDATA JpgImage_2 - - - - - - - - + + RCDATA + SvgImage_6 + + + RCDATA + SvgImage_7 + + + RCDATA + SvgImage_8 + + + RCDATA + SvgImage_9 + + + RCDATA + SvgImage_10 + + + RCDATA + SvgImage_11 + + + RCDATA + SvgImage_12 + + + RCDATA + SvgImage_13 + RCDATA JpgImage_3 - RCDATA JpgImage_4 - - + + RCDATA + SvgImage_14 + + + RCDATA + SvgImage_15 + + + + + Base @@ -236,37 +288,43 @@ true - + .\ true - + .\ true - + .\ true - + .\ true - + .\ true - + + + .\ + true + + + .\ true @@ -278,7 +336,7 @@ true - + .\ true @@ -1316,6 +1374,9 @@ 1 + + 1 + @@ -1608,6 +1669,7 @@ + True diff --git a/Lib/uColors.pas b/Website/Lib/uColors.pas similarity index 100% rename from Lib/uColors.pas rename to Website/Lib/uColors.pas diff --git a/Lib/uCookies.pas b/Website/Lib/uCookies.pas similarity index 100% rename from Lib/uCookies.pas rename to Website/Lib/uCookies.pas diff --git a/Lib/uUtilities.pas b/Website/Lib/uUtilities.pas similarity index 100% rename from Lib/uUtilities.pas rename to Website/Lib/uUtilities.pas diff --git a/Pages/u404PageNotFound.dfm b/Website/Pages/u404PageNotFound.dfm similarity index 100% rename from Pages/u404PageNotFound.dfm rename to Website/Pages/u404PageNotFound.dfm diff --git a/Pages/u404PageNotFound.html b/Website/Pages/u404PageNotFound.html similarity index 100% rename from Pages/u404PageNotFound.html rename to Website/Pages/u404PageNotFound.html diff --git a/Pages/u404PageNotFound.pas b/Website/Pages/u404PageNotFound.pas similarity index 100% rename from Pages/u404PageNotFound.pas rename to Website/Pages/u404PageNotFound.pas diff --git a/Pages/uAchievements.dfm b/Website/Pages/uAchievements.dfm similarity index 100% rename from Pages/uAchievements.dfm rename to Website/Pages/uAchievements.dfm diff --git a/Pages/uAchievements.html b/Website/Pages/uAchievements.html similarity index 100% rename from Pages/uAchievements.html rename to Website/Pages/uAchievements.html diff --git a/Pages/uAchievements.pas b/Website/Pages/uAchievements.pas similarity index 100% rename from Pages/uAchievements.pas rename to Website/Pages/uAchievements.pas diff --git a/Pages/uSearch.dfm b/Website/Pages/uSearch.dfm similarity index 100% rename from Pages/uSearch.dfm rename to Website/Pages/uSearch.dfm diff --git a/Pages/uSearch.html b/Website/Pages/uSearch.html similarity index 100% rename from Pages/uSearch.html rename to Website/Pages/uSearch.html diff --git a/Pages/uSearch.pas b/Website/Pages/uSearch.pas similarity index 100% rename from Pages/uSearch.pas rename to Website/Pages/uSearch.pas diff --git a/Pages/uSettings.dfm b/Website/Pages/uSettings.dfm similarity index 100% rename from Pages/uSettings.dfm rename to Website/Pages/uSettings.dfm diff --git a/Pages/uSettings.html b/Website/Pages/uSettings.html similarity index 100% rename from Pages/uSettings.html rename to Website/Pages/uSettings.html diff --git a/Pages/uSettings.pas b/Website/Pages/uSettings.pas similarity index 100% rename from Pages/uSettings.pas rename to Website/Pages/uSettings.pas diff --git a/Website/PopUps/tPopUp.dfm b/Website/PopUps/tPopUp.dfm new file mode 100644 index 0000000..b418bed --- /dev/null +++ b/Website/PopUps/tPopUp.dfm @@ -0,0 +1,271 @@ +object Template_PopUp: TTemplate_PopUp + Left = 0 + Top = 0 + Width = 1438 + Height = 952 + Align = alClient + TabOrder = 0 + OnClick = btnCloseClick + OnResize = WebFrameResize + ElementID = 'Template_PopUp' + object layTemplatePopUp: TWebScrollBox + Left = 0 + Top = 0 + Width = 1438 + Height = 952 + Align = alClient + BorderStyle = bsNone + ChildOrder = 1 + ScrollBars = ssVertical + OnClick = btnCloseClick + object layPopUpContainer: TWebPanel + AlignWithMargins = True + Left = 40 + Top = 40 + Width = 1358 + Height = 872 + Margins.Left = 40 + Margins.Top = 40 + Margins.Right = 40 + Margins.Bottom = 40 + Align = alTop + Color = clWhite + Padding.Left = 20 + Padding.Top = 20 + Padding.Right = 20 + Padding.Bottom = 20 + ShowCaption = False + object layPopUp: TWebPanel + AlignWithMargins = True + Left = 20 + Top = 72 + Width = 1318 + Height = 780 + Margins.Left = 0 + Margins.Top = 0 + Margins.Right = 0 + Margins.Bottom = 0 + Align = alClient + BorderStyle = bsNone + ChildOrder = 6 + Color = clWhite + ShowCaption = False + object lblDescription: TWebLabel + AlignWithMargins = True + Left = 0 + Top = 613 + Width = 1318 + Height = 25 + Margins.Left = 0 + Margins.Top = 20 + Margins.Right = 0 + Margins.Bottom = 20 + Align = alTop + Alignment = taCenter + Caption = 'Description' + Font.Charset = DEFAULT_CHARSET + Font.Color = clBlack + Font.Height = -19 + Font.Name = 'Segoe UI' + Font.Style = [] + HeightStyle = ssAuto + HeightPercent = 100.000000000000000000 + HTMLType = tP + ParentFont = False + WordWrap = True + WidthPercent = 100.000000000000000000 + ExplicitWidth = 96 + end + object lblTitle: TWebLabel + Left = 0 + Top = 0 + Width = 1318 + Height = 62 + Margins.Left = 0 + Margins.Top = 0 + Margins.Right = 0 + Margins.Bottom = 0 + Align = alTop + Alignment = taCenter + Caption = 'TITLE' + Font.Charset = DEFAULT_CHARSET + Font.Color = 5258796 + Font.Height = -47 + Font.Name = 'Segoe UI' + Font.Style = [fsBold] + HeightStyle = ssAuto + HeightPercent = 100.000000000000000000 + HTMLType = tP + ParentFont = False + WordWrap = True + WidthPercent = 100.000000000000000000 + ExplicitWidth = 120 + end + object imgThumbnail: TWebImageControl + AlignWithMargins = True + Left = 0 + Top = 122 + Width = 1318 + Height = 451 + Margins.Left = 0 + Margins.Top = 20 + Margins.Right = 0 + Margins.Bottom = 20 + HeightStyle = ssAuto + HeightPercent = 100.000000000000000000 + WidthPercent = 100.000000000000000000 + Align = alTop + ChildOrder = 4 + ExplicitTop = 99 + ExplicitHeight = 569 + end + object CustomHrContainer: TWebPanel + Left = 0 + Top = 62 + Width = 1318 + Height = 40 + Align = alTop + BorderStyle = bsNone + ChildOrder = 1 + Color = clWhite + ShowCaption = False + object CustomHr: TWebPanel + Left = 549 + Top = 0 + Width = 396 + Height = 40 + BorderStyle = bsNone + ChildOrder = 3 + Color = clWhite + ShowCaption = False + object CustomHrRight: TWebPanel + AlignWithMargins = True + Left = 228 + Top = 18 + Width = 168 + Height = 4 + Margins.Left = 0 + Margins.Top = 18 + Margins.Right = 0 + Margins.Bottom = 18 + Align = alRight + BorderStyle = bsNone + Color = 5258796 + ShowCaption = False + end + object CustomHrLeft: TWebPanel + AlignWithMargins = True + Left = 0 + Top = 18 + Width = 168 + Height = 4 + Margins.Left = 0 + Margins.Top = 18 + Margins.Right = 0 + Margins.Bottom = 18 + Align = alLeft + BorderStyle = bsNone + ChildOrder = 1 + Color = 5258796 + ShowCaption = False + end + object CustomHrStar: TWebHTMLContainer + AlignWithMargins = True + Left = 178 + Top = 0 + Width = 40 + Height = 40 + Margins.Left = 10 + Margins.Top = 0 + Margins.Right = 10 + Margins.Bottom = 0 + Align = alClient + ChildOrder = 2 + HTML.Strings = ( + + '' + + ' ' + '') + ScrollStyle = ssNone + end + end + end + object btnCloseWindow: TWebButton + AlignWithMargins = True + Left = 40 + Top = 661 + Width = 1238 + Height = 65 + Cursor = crHandPoint + Margins.Left = 40 + Margins.Right = 40 + Margins.Bottom = 20 + Align = alTop + Caption = 'Close Window' + Color = 10271770 + ChildOrder = 3 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWhite + Font.Height = -21 + Font.Name = 'Segoe UI' + Font.Style = [] + HeightPercent = 100.000000000000000000 + ParentFont = False + WidthPercent = 100.000000000000000000 + OnClick = btnCloseClick + OnMouseEnter = ButtonMouseEnter + OnMouseLeave = ButtonMouseLeave + end + end + object layClose: TWebPanel + Left = 20 + Top = 20 + Width = 1318 + Height = 52 + Margins.Left = 0 + Margins.Top = 0 + Margins.Right = 0 + Margins.Bottom = 0 + Align = alTop + BorderStyle = bsNone + ChildOrder = 3 + Color = clWhite + ShowCaption = False + object btnClose: TWebHTMLContainer + AlignWithMargins = True + Left = 1266 + Top = 0 + Width = 52 + Height = 52 + Cursor = crHandPoint + Margins.Left = 0 + Margins.Top = 0 + Margins.Right = 0 + Margins.Bottom = 0 + Align = alRight + ChildOrder = 2 + HTML.Strings = ( + + '' + + ' ' + '') + ScrollStyle = ssNone + OnClick = btnCloseClick + end + end + end + end +end diff --git a/Website/PopUps/tPopUp.html b/Website/PopUps/tPopUp.html new file mode 100644 index 0000000..23e0b9e --- /dev/null +++ b/Website/PopUps/tPopUp.html @@ -0,0 +1,10 @@ + + + + PopUp Template + + + + + \ No newline at end of file diff --git a/Website/PopUps/tPopUp.pas b/Website/PopUps/tPopUp.pas new file mode 100644 index 0000000..891d0d1 --- /dev/null +++ b/Website/PopUps/tPopUp.pas @@ -0,0 +1,135 @@ +unit tPopUp; + +interface + +uses + System.SysUtils, System.Classes, JS, Web, WEBLib.Graphics, WEBLib.Controls, + WEBLib.Forms, WEBLib.Dialogs, Vcl.Controls, WEBLib.ExtCtrls, Vcl.StdCtrls, WEBLib.StdCtrls, + + uColors; + +type + TTemplate_PopUp = class(TWebFrame) + layTemplatePopUp: TWebScrollBox; + layPopUpContainer: TWebPanel; + layPopUp: TWebPanel; + lblDescription: TWebLabel; + lblTitle: TWebLabel; + imgThumbnail: TWebImageControl; + CustomHrContainer: TWebPanel; + CustomHr: TWebPanel; + CustomHrRight: TWebPanel; + CustomHrLeft: TWebPanel; + CustomHrStar: TWebHTMLContainer; + btnCloseWindow: TWebButton; + layClose: TWebPanel; + btnClose: TWebHTMLContainer; + procedure WebFrameResize(Sender: TObject); + procedure btnCloseClick(Sender: TObject); + procedure ButtonMouseEnter(Sender: TObject); + procedure ButtonMouseLeave(Sender: TObject); + private + { Private declarations } + public + { Public declarations } + procedure StyleControls; + procedure SetContent(Title: String = ''; Description: String = ''; ImageURL: String = ''); + end; + +var + Template_PopUp: TTemplate_PopUp; + +implementation + +{$R *.dfm} + +procedure TTemplate_PopUp.ButtonMouseEnter(Sender: TObject); +begin + TWebButton(Sender).Color := MakeColorDarker(clHighlight); + TWebButton(Sender).ElementHandle.style.setProperty('border','none'); +end; + +procedure TTemplate_PopUp.ButtonMouseLeave(Sender: TObject); +begin + TWebButton(Sender).Color := clHighlight; + TWebButton(Sender).ElementHandle.style.setProperty('border','none'); +end; + +procedure TTemplate_PopUp.btnCloseClick(Sender: TObject); +begin + Self.ElementHandle.Remove(); +end; + +procedure TTemplate_PopUp.SetContent(Title, Description, ImageURL: String); +begin + lblTitle.Caption := Title; + lblDescription.Caption := Description; + imgThumbnail.URL := ImageURL; +end; + +procedure TTemplate_PopUp.StyleControls; // Call when Frame is created +begin + layPopUpContainer.ElementHandle.style.setProperty('border-radius','10px'); + layPopUpContainer.ElementHandle.style.setProperty('border','1px solid rgba(0.125rem, 0, 0, 0.175)'); + + Self.ElementHandle.style.setProperty('background-color','rgba(0, 0, 0, 0.5)'); + layTemplatePopUp.ElementHandle.style.setProperty('background-color','rgba(0, 0, 0, 0.5)'); + + btnCloseWindow.Color := clHighlight; + btnCloseWindow.ElementHandle.style.setProperty('border-radius','10px'); + btnCloseWindow.ElementHandle.style.setProperty('border','none'); + + imgThumbnail.ElementHandle.style.setProperty('border','1px solid white'); + imgThumbnail.ElementHandle.style.setProperty('border-radius','10px'); + +// CustomHrStar.HTML.Text := GetBootstrapIcon('star-fill', '100%', '#' + TColorToHex(PrimaryColor)); + CustomHrContainer.Color := clWhite; + CustomHr.Color := clWhite; + CustomHrLeft.Color := clHighlight; + CustomHrRight.Color := clHighlight; + + WebFrameResize(Template_PopUp); +end; + +procedure TTemplate_PopUp.WebFrameResize(Sender: TObject); +const + ContainerWidth: UInt64 = 1000; +begin + if (layTemplatePopUp.Width >= ContainerWidth) then + begin + layPopUpContainer.Margins.Left := (layPopUpContainer.Parent.Width - ContainerWidth + 175) div 2; + layPopUpContainer.Margins.Right := (layPopUpContainer.Parent.Width - ContainerWidth + 175) div 2; + + layPopUp.Margins.Left := 175; + layPopUp.Margins.Right := 175; + end else + begin + layPopUpContainer.Margins.Left := 40; + layPopUpContainer.Margins.Right := 40; + + if (layTemplatePopUp.Width >= 1000) then + begin + layPopUp.Margins.Left := 100; + layPopUp.Margins.Right := 100; + end else + begin + layPopUp.Margins.Left := 20; + layPopUp.Margins.Right := 20; + end; + end; + + CustomHr.Left := (CustomHr.Parent.Width - CustomHr.Width) div 2; + + btnCloseWindow.Margins.Left := (layPopUp.Width - 200) div 2; + btnCloseWindow.Margins.Right := (layPopUp.Width - 200) div 2; + + layPopUpContainer.Height := layPopUpContainer.Padding.Top + layPopUpContainer.Padding.Bottom + + layClose.Height + layClose.Margins.Top + layClose.Margins.Bottom + + lblTitle.Height + lblTitle.Margins.Top + lblTitle.Margins.Bottom + + CustomHrContainer.Height + CustomHrContainer.Margins.Top + CustomHrContainer.Margins.Bottom + + imgThumbnail.Height + imgThumbnail.Margins.Top + imgThumbnail.Margins.Bottom + + lblDescription.Height + lblDescription.Margins.Top + lblDescription.Margins.Bottom + + btnCloseWindow.Height + btnCloseWindow.Margins.Top + btnCloseWindow.Margins.Bottom; +end; + +end. \ No newline at end of file diff --git a/TMSWeb/Release/HaloTracker_Web.js b/Website/TMSWeb/Release/HaloTracker_Web.js similarity index 100% rename from TMSWeb/Release/HaloTracker_Web.js rename to Website/TMSWeb/Release/HaloTracker_Web.js diff --git a/TMSWeb/Release/assets/achievements.svg b/Website/TMSWeb/Release/assets/achievements.svg similarity index 100% rename from TMSWeb/Release/assets/achievements.svg rename to Website/TMSWeb/Release/assets/achievements.svg diff --git a/TMSWeb/Release/assets/app.svg b/Website/TMSWeb/Release/assets/app.svg similarity index 100% rename from TMSWeb/Release/assets/app.svg rename to Website/TMSWeb/Release/assets/app.svg diff --git a/TMSWeb/Release/assets/asterisk.svg b/Website/TMSWeb/Release/assets/asterisk.svg similarity index 100% rename from TMSWeb/Release/assets/asterisk.svg rename to Website/TMSWeb/Release/assets/asterisk.svg diff --git a/TMSWeb/Release/assets/background-infinite.jpg b/Website/TMSWeb/Release/assets/background-infinite.jpg similarity index 100% rename from TMSWeb/Release/assets/background-infinite.jpg rename to Website/TMSWeb/Release/assets/background-infinite.jpg diff --git a/TMSWeb/Release/assets/background-mcc.jpg b/Website/TMSWeb/Release/assets/background-mcc.jpg similarity index 100% rename from TMSWeb/Release/assets/background-mcc.jpg rename to Website/TMSWeb/Release/assets/background-mcc.jpg diff --git a/TMSWeb/Release/assets/background.mp4 b/Website/TMSWeb/Release/assets/background.mp4 similarity index 100% rename from TMSWeb/Release/assets/background.mp4 rename to Website/TMSWeb/Release/assets/background.mp4 diff --git a/TMSWeb/Release/assets/bug.svg b/Website/TMSWeb/Release/assets/bug.svg similarity index 100% rename from TMSWeb/Release/assets/bug.svg rename to Website/TMSWeb/Release/assets/bug.svg diff --git a/TMSWeb/Release/assets/chevron-down.svg b/Website/TMSWeb/Release/assets/chevron-down.svg similarity index 100% rename from TMSWeb/Release/assets/chevron-down.svg rename to Website/TMSWeb/Release/assets/chevron-down.svg diff --git a/TMSWeb/Release/assets/chevron-up.svg b/Website/TMSWeb/Release/assets/chevron-up.svg similarity index 100% rename from TMSWeb/Release/assets/chevron-up.svg rename to Website/TMSWeb/Release/assets/chevron-up.svg diff --git a/TMSWeb/Release/assets/copy.svg b/Website/TMSWeb/Release/assets/copy.svg similarity index 100% rename from TMSWeb/Release/assets/copy.svg rename to Website/TMSWeb/Release/assets/copy.svg diff --git a/TMSWeb/Release/assets/github.svg b/Website/TMSWeb/Release/assets/github.svg similarity index 100% rename from TMSWeb/Release/assets/github.svg rename to Website/TMSWeb/Release/assets/github.svg diff --git a/TMSWeb/Release/assets/halo-2.png b/Website/TMSWeb/Release/assets/halo-2.png similarity index 100% rename from TMSWeb/Release/assets/halo-2.png rename to Website/TMSWeb/Release/assets/halo-2.png diff --git a/TMSWeb/Release/assets/halo-3-odst.png b/Website/TMSWeb/Release/assets/halo-3-odst.png similarity index 100% rename from TMSWeb/Release/assets/halo-3-odst.png rename to Website/TMSWeb/Release/assets/halo-3-odst.png diff --git a/TMSWeb/Release/assets/halo-3.png b/Website/TMSWeb/Release/assets/halo-3.png similarity index 100% rename from TMSWeb/Release/assets/halo-3.png rename to Website/TMSWeb/Release/assets/halo-3.png diff --git a/TMSWeb/Release/assets/halo-4.png b/Website/TMSWeb/Release/assets/halo-4.png similarity index 100% rename from TMSWeb/Release/assets/halo-4.png rename to Website/TMSWeb/Release/assets/halo-4.png diff --git a/TMSWeb/Release/assets/halo-5.png b/Website/TMSWeb/Release/assets/halo-5.png similarity index 100% rename from TMSWeb/Release/assets/halo-5.png rename to Website/TMSWeb/Release/assets/halo-5.png diff --git a/TMSWeb/Release/assets/halo-ce.png b/Website/TMSWeb/Release/assets/halo-ce.png similarity index 100% rename from TMSWeb/Release/assets/halo-ce.png rename to Website/TMSWeb/Release/assets/halo-ce.png diff --git a/TMSWeb/Release/assets/halo-infinite.png b/Website/TMSWeb/Release/assets/halo-infinite.png similarity index 100% rename from TMSWeb/Release/assets/halo-infinite.png rename to Website/TMSWeb/Release/assets/halo-infinite.png diff --git a/TMSWeb/Release/assets/halo-mcc.png b/Website/TMSWeb/Release/assets/halo-mcc.png similarity index 100% rename from TMSWeb/Release/assets/halo-mcc.png rename to Website/TMSWeb/Release/assets/halo-mcc.png diff --git a/TMSWeb/Release/assets/halo-reach.png b/Website/TMSWeb/Release/assets/halo-reach.png similarity index 100% rename from TMSWeb/Release/assets/halo-reach.png rename to Website/TMSWeb/Release/assets/halo-reach.png diff --git a/TMSWeb/Release/assets/halo5.jpg b/Website/TMSWeb/Release/assets/halo5.jpg similarity index 100% rename from TMSWeb/Release/assets/halo5.jpg rename to Website/TMSWeb/Release/assets/halo5.jpg diff --git a/TMSWeb/Release/assets/house.svg b/Website/TMSWeb/Release/assets/house.svg similarity index 100% rename from TMSWeb/Release/assets/house.svg rename to Website/TMSWeb/Release/assets/house.svg diff --git a/TMSWeb/Release/assets/journal-code.svg b/Website/TMSWeb/Release/assets/journal-code.svg similarity index 100% rename from TMSWeb/Release/assets/journal-code.svg rename to Website/TMSWeb/Release/assets/journal-code.svg diff --git a/TMSWeb/Release/assets/link.svg b/Website/TMSWeb/Release/assets/link.svg similarity index 100% rename from TMSWeb/Release/assets/link.svg rename to Website/TMSWeb/Release/assets/link.svg diff --git a/TMSWeb/Release/assets/list.svg b/Website/TMSWeb/Release/assets/list.svg similarity index 100% rename from TMSWeb/Release/assets/list.svg rename to Website/TMSWeb/Release/assets/list.svg diff --git a/TMSWeb/Release/assets/pfp.jpg b/Website/TMSWeb/Release/assets/pfp.jpg similarity index 100% rename from TMSWeb/Release/assets/pfp.jpg rename to Website/TMSWeb/Release/assets/pfp.jpg diff --git a/TMSWeb/Release/assets/search.svg b/Website/TMSWeb/Release/assets/search.svg similarity index 100% rename from TMSWeb/Release/assets/search.svg rename to Website/TMSWeb/Release/assets/search.svg diff --git a/TMSWeb/Release/assets/settings.svg b/Website/TMSWeb/Release/assets/settings.svg similarity index 100% rename from TMSWeb/Release/assets/settings.svg rename to Website/TMSWeb/Release/assets/settings.svg diff --git a/TMSWeb/Release/assets/translate.svg b/Website/TMSWeb/Release/assets/translate.svg similarity index 100% rename from TMSWeb/Release/assets/translate.svg rename to Website/TMSWeb/Release/assets/translate.svg diff --git a/TMSWeb/Release/index.html b/Website/TMSWeb/Release/index.html similarity index 100% rename from TMSWeb/Release/index.html rename to Website/TMSWeb/Release/index.html diff --git a/TMSWeb/Release/u404PageNotFound.html b/Website/TMSWeb/Release/u404PageNotFound.html similarity index 100% rename from TMSWeb/Release/u404PageNotFound.html rename to Website/TMSWeb/Release/u404PageNotFound.html diff --git a/TMSWeb/Release/uAchievements.html b/Website/TMSWeb/Release/uAchievements.html similarity index 100% rename from TMSWeb/Release/uAchievements.html rename to Website/TMSWeb/Release/uAchievements.html diff --git a/TMSWeb/Release/uIndex.html b/Website/TMSWeb/Release/uIndex.html similarity index 100% rename from TMSWeb/Release/uIndex.html rename to Website/TMSWeb/Release/uIndex.html diff --git a/TMSWeb/Release/uSearch.html b/Website/TMSWeb/Release/uSearch.html similarity index 100% rename from TMSWeb/Release/uSearch.html rename to Website/TMSWeb/Release/uSearch.html diff --git a/TMSWeb/Release/uSettings.html b/Website/TMSWeb/Release/uSettings.html similarity index 100% rename from TMSWeb/Release/uSettings.html rename to Website/TMSWeb/Release/uSettings.html diff --git a/assets/achievements.svg b/Website/assets/achievements.svg similarity index 100% rename from assets/achievements.svg rename to Website/assets/achievements.svg diff --git a/assets/app.svg b/Website/assets/app.svg similarity index 100% rename from assets/app.svg rename to Website/assets/app.svg diff --git a/assets/asterisk.svg b/Website/assets/asterisk.svg similarity index 100% rename from assets/asterisk.svg rename to Website/assets/asterisk.svg diff --git a/assets/background-infinite.jpg b/Website/assets/background-infinite.jpg similarity index 100% rename from assets/background-infinite.jpg rename to Website/assets/background-infinite.jpg diff --git a/assets/background-mcc.jpg b/Website/assets/background-mcc.jpg similarity index 100% rename from assets/background-mcc.jpg rename to Website/assets/background-mcc.jpg diff --git a/assets/background.mp4 b/Website/assets/background.mp4 similarity index 100% rename from assets/background.mp4 rename to Website/assets/background.mp4 diff --git a/assets/bug.svg b/Website/assets/bug.svg similarity index 100% rename from assets/bug.svg rename to Website/assets/bug.svg diff --git a/assets/chevron-down.svg b/Website/assets/chevron-down.svg similarity index 100% rename from assets/chevron-down.svg rename to Website/assets/chevron-down.svg diff --git a/assets/chevron-up.svg b/Website/assets/chevron-up.svg similarity index 100% rename from assets/chevron-up.svg rename to Website/assets/chevron-up.svg diff --git a/assets/copy.svg b/Website/assets/copy.svg similarity index 100% rename from assets/copy.svg rename to Website/assets/copy.svg diff --git a/assets/github.svg b/Website/assets/github.svg similarity index 100% rename from assets/github.svg rename to Website/assets/github.svg diff --git a/assets/halo-2.png b/Website/assets/halo-2.png similarity index 100% rename from assets/halo-2.png rename to Website/assets/halo-2.png diff --git a/assets/halo-3-odst.png b/Website/assets/halo-3-odst.png similarity index 100% rename from assets/halo-3-odst.png rename to Website/assets/halo-3-odst.png diff --git a/assets/halo-3.png b/Website/assets/halo-3.png similarity index 100% rename from assets/halo-3.png rename to Website/assets/halo-3.png diff --git a/assets/halo-4.png b/Website/assets/halo-4.png similarity index 100% rename from assets/halo-4.png rename to Website/assets/halo-4.png diff --git a/assets/halo-5.png b/Website/assets/halo-5.png similarity index 100% rename from assets/halo-5.png rename to Website/assets/halo-5.png diff --git a/assets/halo-ce.png b/Website/assets/halo-ce.png similarity index 100% rename from assets/halo-ce.png rename to Website/assets/halo-ce.png diff --git a/assets/halo-infinite.png b/Website/assets/halo-infinite.png similarity index 100% rename from assets/halo-infinite.png rename to Website/assets/halo-infinite.png diff --git a/assets/halo-mcc.png b/Website/assets/halo-mcc.png similarity index 100% rename from assets/halo-mcc.png rename to Website/assets/halo-mcc.png diff --git a/assets/halo-reach.png b/Website/assets/halo-reach.png similarity index 100% rename from assets/halo-reach.png rename to Website/assets/halo-reach.png diff --git a/assets/halo5.jpg b/Website/assets/halo5.jpg similarity index 100% rename from assets/halo5.jpg rename to Website/assets/halo5.jpg diff --git a/assets/house.svg b/Website/assets/house.svg similarity index 100% rename from assets/house.svg rename to Website/assets/house.svg diff --git a/assets/journal-code.svg b/Website/assets/journal-code.svg similarity index 100% rename from assets/journal-code.svg rename to Website/assets/journal-code.svg diff --git a/assets/link.svg b/Website/assets/link.svg similarity index 100% rename from assets/link.svg rename to Website/assets/link.svg diff --git a/assets/list.svg b/Website/assets/list.svg similarity index 100% rename from assets/list.svg rename to Website/assets/list.svg diff --git a/assets/pfp.jpg b/Website/assets/pfp.jpg similarity index 100% rename from assets/pfp.jpg rename to Website/assets/pfp.jpg diff --git a/assets/search.svg b/Website/assets/search.svg similarity index 100% rename from assets/search.svg rename to Website/assets/search.svg diff --git a/assets/settings.svg b/Website/assets/settings.svg similarity index 100% rename from assets/settings.svg rename to Website/assets/settings.svg diff --git a/assets/translate.svg b/Website/assets/translate.svg similarity index 100% rename from assets/translate.svg rename to Website/assets/translate.svg diff --git a/index.html b/Website/index.html similarity index 100% rename from index.html rename to Website/index.html diff --git a/uIndex.dfm b/Website/uIndex.dfm similarity index 100% rename from uIndex.dfm rename to Website/uIndex.dfm diff --git a/uIndex.html b/Website/uIndex.html similarity index 100% rename from uIndex.html rename to Website/uIndex.html diff --git a/uIndex.pas b/Website/uIndex.pas similarity index 100% rename from uIndex.pas rename to Website/uIndex.pas