541-implement-vasttrafik-card #958

Closed
b25marem wants to merge 1497 commits from 541-implement-vasttrafik-card into team_2_week_6
Collaborator

Implemented a complete Västtrafik dashboard card with real-time departures and arrivals from the Västtrafik API.

Features

  • Added new VasttrafikView dashboard card

  • Added departures and arrivals tab switching

  • Added reusable useVasttrafik custom hook for API fetching

  • Added loading and error handling states

  • Added formatted Swedish departure/arrival times

  • Added responsive and styled traffic list UI

  • Added backend vasttrafikService

  • Added OAuth token handling with automatic token refresh

  • Added Västtrafik API integration for:

    • departures
    • arrivals
    • location search
  • Added nginx reverse proxy routing

  • Added Docker Compose integration for the new service

Technical Details

  • Frontend communicates through /api/vasttrafik/*
  • Backend caches OAuth access tokens until expiration
  • Service returns simplified traffic objects for frontend usage
  • Uses AbortController to safely cancel fetch requests
Implemented a complete Västtrafik dashboard card with real-time departures and arrivals from the Västtrafik API. ## Features * Added new `VasttrafikView` dashboard card * Added departures and arrivals tab switching * Added reusable `useVasttrafik` custom hook for API fetching * Added loading and error handling states * Added formatted Swedish departure/arrival times * Added responsive and styled traffic list UI * Added backend `vasttrafikService` * Added OAuth token handling with automatic token refresh * Added Västtrafik API integration for: * departures * arrivals * location search * Added nginx reverse proxy routing * Added Docker Compose integration for the new service ## Technical Details * Frontend communicates through `/api/vasttrafik/*` * Backend caches OAuth access tokens until expiration * Service returns simplified traffic objects for frontend usage * Uses AbortController to safely cancel fetch requests
a22erigr force-pushed 541-implement-vasttrafik-card from da2ac63239 to fc4a9dbce1 2026-05-15 08:10:43 +00:00 Compare
a22erigr force-pushed 541-implement-vasttrafik-card from fc4a9dbce1 to 8c1c1944df 2026-05-15 08:11:04 +00:00 Compare
Clarification of usage
Typo fix.
Added description on what software is needed to get going
Refinement
added git
Updated Git
Added build instructions for subprojects
added build command
Built the script to build and start the containers for windows
Reviewed-on: #75
Tested on my own computer. Worked with a24hirsa
Reviewed-on: #74
added api to fetch data from timeedit. Added new view for the schedule
The feedback from the first pull request has been fixed (Comments not
following standard)
When merging, make sure to 'prettify' all js files in one big go. Prettier will now change CRLF to LF.
https://prettier.io/docs/options#end-of-line:~:text=If%20you%20want%20to,to%20CRLF%20on%20checkout.
added a skeleton Graph component for the weather
todo:
Hook to the api
shift height and color based on tempratue
create css file for styling
testing so that values are passed.
Added comments and correct coding standards for C#
as well as testing for tempSensorMockup
commented out self-made function
Added a external css file for the WeatherGraph and started moving weather data getting away from temperature view into the WeatherGraph.

API hooking and Theme.css matchign will be added after the next merge
testing the shared apifetch function
Comments and descriptions added.
Added comments, cleaned up some code and removed data getting from temperature view fully and moved it to weather graph
Solution:
Made a view for viewing text elements.

Changes
made file TextView.js under features/temperature

Notes
The titel is set to Textview and the text element is lorem ipsum which needs to be changed when we have mockupdata.
unnecessary file
rename file to follow new naming convention.
Created mockup data by making useTemperature store an array of data elements and modifying them in the WeatherGraph.
- Name change: SharedFetures.js ->SharedFeatures.js
 - Change import in effected file
- Implemented unit test for failure case
 - Error 500
- Removed debug code
/TempSensorMockup
var data= new{sensor1} chaged to var data= new[]{sensor1,sensor2..}
It used to give back a object with data of a single sensor now it returns an array with data from multiple sensors
/readTempSensorMockup
the read function used to expect an single object from tempSensorMockup but as its an array now its been changed to expect an array and a foreach loop have been intruduced to read and store the data from all sensors in the array
/tempService
i have included the sensorId in the class TempratureData, even if we stored sensorId,timestamp and temperature in the db we could only use the last two before in the View's/app it doesnt do anything now but its added to be able to make out witch sensor gives the reading.
I removed the .prettierrc file content temporarily until the weekly merge.
This reverts commit 5cd8a88118.
I removed the .prettierrc file content temporarily until the weekly merge.
Reviewed-on: #160
Reviewed-on: #180
I just capitalized "UseApi" and the description to comply with the coding standard.
Reviewed-on: #163
Reviewed-on: #137
Fixed Decimal issue for temprature in graph and current time temp not matching in right side view and graph
renamed hook (api call) to match coding standards
missed a file name (coding standards)
returns average temperature for the written year
Needs testing and implementation the use of database
Reviewed-on: #201
used suggested code in the research issue #179
Shows 2026 average temperature currently
Reviewed-on: #176
so that cards can be placed anywhere without being compacted
edited coding standards & comments
This reverts commit 3f14203de6, reversing
changes made to bde822da87.
changed the hooks to use the useApi method.
added some descriptions regarding the parameters for the metobs API
Moved the file TextView.js to features/text.
Implemented the TextView in app.js so you can see the changes.
I kept the lorem ipsum text since it is commonly used as a placeholder for text.
Might need to create more containers, at least one that can act as a reader that uploads the data to the database
we can save data from diffrent sensors and get it, but we have to be able to sort the data from diffrent sensors witch is the next problem.
Parprograming with: a22erigr
Original branch had to be deleted because i accidentally commit files that shouldn't have been.

Navbar implementation using react, cards need to be implemented using the navbar home div, since otherwise the cards will show up in the settings page and any other future page implementations.

All logos have to be replaced with our own at some point, current logos are just placeholders.

CSS styling is also just temporary placeholders which needs to be replaced when the themes are implemented.
Add MapView component with floor images

- Create MapView.js
- Add floor1 and floor2 SVGs to assets
Removed to remove merge conflict
This is simply a fix for the pr #188 merge conflict.

The new .sln file is just from the main team 1 branch.
Showcases average temperature from that month
Outputs average temperature for written month
months addressed with ints instead of strings and also datatype int added in parameter
Decided it's better to save this for another issue
Noticed I missed this
Reviewed-on: #210
The api for both single and and entire history works when not using params to choose sensor
Latest- works with params as well to get from a specific sensor
all- doesnt work when choosing a specific sensor with params, it gets the param as unnown when we try to send it along

par programing with a22erigr
Made a text-field which you can edit by clicking on it.
needed to save database results into cache
The Issue#7 and #12 is implimented in this branch, we can now create as manny mock sensors as we like, save the data to the db and querry it for either the latest temp or historic temp for each sensor seperatly.
If the historic data is going to be used it still needs to be filtered/sliced to get the intervalls and amount of data points wanted
Cache will now get checked before database, and updated every 10 minutes
Reviewed-on: #151
an button prototyp to enable/disable drag and resize.
it can only create a predetermined amount of bookings and can only request all of the bookings in the database
Put all scripts in a scripts directory and added a readme (instructions) to it.
Now all cards will be locked/unlocked upon button press
Add ImageView component with dynamic props

- Display image, title, and description
- Create ImageView.js
- Add Image1 SVG to assets
Reviewed-on: #213
Reviewed-on: #208
Reviewed-on: #232
Completed the restructuring and breakout from the scripts. Tested and experimented with some packages (see issue #175 for relevant question). This will be merged later to avoid merge conflicts, and updated later for the Final-Finalization.
Reviewed-on: #188
Reviewed-on: #225
Reviewed-on: #216
The existing test for tempSensorMockup was not a true unit test, and had issues connecting to to the running api in the docker container.

Imported package Microsoft.AspNetCore.Mvc.Testing in order to use the WebApplicationFactory() to create an in-memory copy of the tempSensorMockup so that it can be correctly tested.
Restructured app.js to break out the grid layout into a dash component.
+ Dependency for api
+ change indentation to follow standard
+ Removed out commented code
+ Added comments to explain the code
+ Incerted found no result logic
Added max width for the picture
JsonData_TagsCorrect_ReturnTrue() will now accurately validate the data structure of tempSensorMockup.

It will fail for the following:
- If the parsed JSON contains ANY unexpected property names.
- If the parsed JSON has to few or too many properties.

Todo: Data validation
This reverts commit f54a3d2b99.
This reverts commit 579757b585.
This reverts commit 5fa130c247, reversing
changes made to 6348c321d1.
removed first verison and started to dokument the code
Enhanced the test to establish the uniqueness of the returned JSON properties. Example: A faulty JSON that has the property Data occurring twice, will fail the test, rather than being waved through.
This reverts commit ebe7becab4.
returns average temperature from month, from year
The "bug" was me centric and therefore easy to fix. Simply changing to a clean, new install browser fix it.

The bug was that the frontend didn't get data from the tempature service
added frontend communication to showcase monthly average temperature
Converts month number to month name at output
Reviewed-on: #247
- Extended unit tests to validate each of the expected three values.
- Refactored all tests to try and conform with unit test guidelines, as best as possible by subdividing the data validation tests and structuring them in accordance with the three "A's", where possible.
added an eventlistener that is triggered when an user chooses a value and value is fetched on the target
The Linux script added packages in tempSensorMockup instead of readTempSensonMockup. This doesn't cause issues it seems since no one has commented on this. Also fixed some formatting
+ useTemperatureTimeSeriesView and useTemperature uses the shared api
function useApi
+ All function that previously used useApi have been modified to also
send dependencies. Send null if no dependencies are needed.
Instead of having an label I've added an hidden option so the dropdown is described in it self.
The first option completely removes the outline. The second option changes the color to blue(commented out).
Add so card is shown outputing that there's no data for that month or year
added a more clear naming of variables
/year now returns 404 instead of 500 when having no data
The logo won't show up for some reason
The 404 page catches all unkown paths and routes to the 404 page. The 404 page has a button which links to the home page. However since nginx only starts after App is started. Nginx then displays it's own 404 page which has no way to link to our home page.
Reviewed-on: #253
Started making the Footer.js and Footer.module.css
+./docker_postgres_init.sql:/docker-entrypoint-initdb.d/docker_postgres_init.sql:z
+ Amended :z
the database sensor is now created in init sql file
Dependency checking now exist, it will currently check for git, docker, node and code (CLI version of VSC). Future developers can easily add their own dependencies if needed.

Also clarified some stuff in the readme.
Of course I forgot to fix the comments
Reviewed-on: #274
can now add one new view, it is added on an already set view and only one can be added so far.
Reviewed-on: #265
Fixed coding standards for Batch according to feedback.

Also, comments.
Made a new branch and commit to avoid conflicts in the merge with App.js. The parking view is now implemented in Dashboard.js instead.
Reviewed-on: #280
added the dropdown component to the branch in order to choose what view to be added.
Reviewed-on: #257
Reviewed-on: #239
Added spaces according to the standards.
Removed spaces because of merge conflict.
This reverts commit 53df2d5bbb.
This reverts commit 5f56da9fda.
Reviewed-on: #268
Reviewed-on: #284
Reviewed-by: Abdalrahman Alhindi <c22abdal@noreply.localhost>
+ layouts table uses user_id as foreign key from user table.
+ Stores Json data in using json dataType
The footer is done, now all that needs to be done is making mockup links and headers to what the footer could link to later
Added usage section to readme to address the issue with how Unix systems might call the scripts.
Place holders are now in place
Reviewed-on: #290
Reviewed-on: #293
Reviewed-on: #223
Added restrictions to the cards size.
Reviewed-on: #286
Reviewed-by: Noah Berhane <a24noabe@noreply.localhost>
Reviewed-on: #196
+ Indentation from 4->2 in css file
+ Removed "reactjs-popup": "^2.0.6", from package-lock.json
+ added dependency hook.showHook to hook useEffect (editor sugestion)
Reviewed-on: #261
Bad manners to push to main but it is needed to get minimal conflicts. Some bugs are introduced but should be fixed shortly.
Routing to the 404 page is working again, also tried adding the style colours to it with mixed results
Both the Navbar and Footer now should change colour depending on which style is in use. However I cannot test good enough since there are other issues with the app making testing hard
Reviewed-on: #314
wrong pathing both on linux/windows edition
Reviewed-on: #317
Reviewed-on: #316
This reverts commit 975e4d23ea.
@c24elipe
Reviewed-on: #322
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
Reviewed-on: #323
Added Tests directories to all C# projects
Moved login CSS variables from theme.css to LoginModal.module.css and removed them from theme.css.
Added the randomization to the Windows script
Right thing in right place + cleanup :)
Reviewed-on: #328
Reviewed-on: #326
This reverts commit b1309961e7, reversing
changes made to c2e7cc98db.
Reviewed-on: #331
Reviewed-on: #336
Reviewed-on: #325
have made that you can insert, update or delete a row in a database
use topic to determine database and action
Reviewed-on: #350
cards can now be removed by pressing the "x" symbol
The <TemperatureView> is no longer called with a parameter, insted it gets set to one initially and a button is added to navigate between the sensors.
What left:
-to add a button to previus sensor along with the next senssor that exist.
-Buttons need to be styled according to standards.
-Make population of sensor array[] dynamic its hardcoded now
Reviewed-on: #353
added button to see previous sensor.
Whats left:
-dynamic population of array[].
-fix button style/styles is general to match standards
Reviewed-on: #357
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
Changed the file:
UnixInstallation.sh
this way unix users won't need to instal VS code
Commented out requirementCommand code in WindowsInstallation.bat.
Remade the solution file so that VSC won't error anymore
Navbar and footer only changes between two colors in light and dark mode.
Addresses some small changes that arose due to new additions. Hopefully this version is more clear for those (not) reading it.
Added code to fix so that cards cant be placed on top of each other. And so that when adding a new view, it spawn underneath other cards.
Reviewed-on: #366
Reviewed-on: #381
Reviewed-on: #382
Updated and added grid saving so that when one reloads the cards will remain in the same position
Added grid file, will add code later
Havent tested the code yet but need to save the progress
The TemperatureView now adds the diffrent sensors in the db when the view is created, if new sensors gets added you have to close the view and open a new one (i beleve this is ok)
Left to do:
change styling in general and on buttons to conform with standards
Broke out grid saving stuff, also modified some other layout stuff regarding new views to make it possible to save in localstorage.
Reviewed-on: #360
Reviewed-by: a21jonfa <a21jonfa@noreply.localhost>
Adding views to dashboard to test them
Reviewed-on: #370
GraphView used "wrong" import, there is 4 views that do currently display errors.
Reviewed-on: #349
Reviewed-on: #359
Reviewed-on: #363
Reviewed-by: Tim Svensson <a24timsv@noreply.localhost>
Implemented the following tests for the BookingGenerator class.

- GetBookings_NoParameter_NotNull()
- GetBookings_NonZeroParameter_HasExpectedEntryCount()
- GetBookings_NonZeroParameter_EntriesNotNull()
Added .873 to all projects that referenced it. Also added the command to ParkingApiMockup as it was missing it.
Reviewed-on: #364
Reviewed-by: c24danli <c24danli@noreply.localhost>
- Renamed the UnitTest1 class file to BookingGeneratorTests.cs
- Added unit test to check that a Null value is returned if one accidentally uses a negative value.
All files should now only contain the english language and comments have been restructured as well as files
Added a text field for TimeEdit URL with error messages in case of wrong URL. Converts the html links to json.
+ Added the small feature loginService
  + How it works
    + Endpoints -> AuthService -> DatabaseQueries->DATABASE
    + DATABASE -> DatabaseQueries->AuthService->Endpoint->frontend
  + This is done to separate the different layers.
    + Entrypoint receives requests
    + AuthService should apply all logic
    + DatabaseQueries should only fetch data
+ Tested on my own computer Fedora 43 using curl
+ get container ip using this command
``` bash
docker inspect -f
'{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
container_name_or_id

```
  + possible to create a user using endpoint
``` bash
curl -X POST http://172.18.0.3:8080/auth/SignUp \
  -H "Content-Type: application/json" \
  -d '{
    "Username": "jag orkar inte",
    "Firstname": "Eric",
    "Lastname": "Grandinger",
    "Email": "eric@example.com",
    "Password": "Let me in"
  }'

```
+ possible to sign in using endpoint
``` bash
 curl -X POST http://172.18.0.10:8080/auth/login \
  -H "Content-Type: application/json" \
  -d '{"Username": "jag orkar inte", "Password": "Let me in"}'
  }'

```
+ Acess not granted if wrong password is used
I know the commit is on the larger side and i am sorry

about that :(
Trying to control how an SQL-table is created/structured based on the data from the objects it will store inside it by having the SQL-table data types be specified in the object itself and from there having the middleware automatically figure out how to create the associated tables.

If this doesn't prove to be a good solution, I have also made the payloads easier to read in the middleware container's log, as well as display the name+datatype of each of the payload's properties. This should make it easier to get a better grasp of what's actually being sent.
(I also fixed some spelling errors that were irking me)
Managed to solve the issue of sending an array in the payload, so now an array of strings defining the SQL-datatypes(char, varchar, DATETIME, etc.) on each object can be used to structure the SQL-query for our database inserts. Only implemented in the Room Service so far.

It doesn't do anything yet except send an additional piece of data in the room service payload, but we can use this piece of data to "dynamically" construct our SQL-queries in the middleware.

(See the test SQL-query string print-out on line 47-58 in roomBookingApiMockup/Program.cs for an example of how the query string could be assembled in the middleware.)
Reviewed-on: #416
Reviewed-on: #419
Reviewed-on: #413
Added a visible Grid in Dashboard.js
+ Removed un used "using"
+ Removed research urls
Fix grid color visibility for light and dark mode
Reviewed-on: #379
+ Constants now use PascalCase
Created 5 unit tests for the SpotGenerator class that test the CreateSpots and GetAllSpots methods.

- Test that a list is actually returned when GetAllSpots is invoked.
- Test that the GetAllSpots does not return a list with any Null entries.
- Test that a zero/empty constructor value does not result in a Null list being returned.
- Test that a zero/empty constructor value returns an empty list as expected.
- Test that negative constructor values still return a list and not Null.
- Test that the list returns an equal number of spots that correspond to the constructors parameters.

Note: Some of these tests may be redundant.
Reviewed-on: #417
Reviewed-by: Tim Svensson <a24timsv@noreply.localhost>
Removed     <PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.5" />

as i did not end up using it for now.
A card grows on click if it has original dimensions, and goes back to original dimensions on click otherwise
Height now works correctly when adjusting size
Decided to use doubleclick to not interfere with the resizing already existing
Added style to dropdown menu, header and paragraph to the left side of the taskbar.
Create table and insert works as intended
can also get data from database, with some modification in the service
Reviewed-on: #383
Reviewed-by: Elinus Persson <c24elipe@noreply.localhost>
found the issue why text displayed outside of card, trying to resolve a better approach
I separated the theme.css into two files: one for reusable components like buttons, and another for general and global styles. Reusable components receive there styling from Components.css
Reviewed-on: #397
Reviewed-by: Elinus Persson <c24elipe@noreply.localhost> and @j21marbr
Reviewed-on: #410
added commented out tests to make shure that delete and update function works in middleware
To edit you now have to press the button also implemented a remove all button if you want a fresh note
made adjustments to the build and installation scripts to include all dependencies and build correctly

to test just run the rebuild script and then use the link
http://localhost/api/energy/all
to see the data
When cards are being moved they now show a placeholder on where they are in the grid exactly.
+ Unittest for login
+ Unittest for signeUp not implemented
  + Need dependency moq which has not been approved
Fixed so average temperature from 2026 is not shown on all years in /month/year
Reviewed-on: #450
Reviewed-on: #432
Reviewed-by: Abdalrahman Alhindi <c22abdal@noreply.localhost>
Reviewed-by: Elinus Persson <c24elipe@noreply.localhost>
Renamed map callback parameter from reservations to reservation and changed e to event in onChange.
Added resetLayout function in SaveGrid.js and a reset button with confirmation modal in Dashboard.js
added 	style={{ overflowX: 'hidden', width: '100%' }} to the <div class='Dashboard Parent Div'	> will check tomorrow how it behaves with diffrent sized screens and if it works add to css style file
Updated tempSensorMockup tests to iterate over the array response and validate each object.

It's applied to  each item in the array. Passes all 4 tests now
Only aadded "style={{ overflowX: 'hidden', width: '100%' }} // to fix drag problem horizontoly add in css later" to the dashboard div will let i be in inline for now as we will probebly look over the structure of the css files in our project
without any css on child div make it hard to let the child resize as the parent
Reviewed-on: #445
Reviewed-on: #438
Reviewed-by: f21marfo <f21marfo@noreply.localhost>
Remove button back and works.
This is to make the scaling with the card work more smoothly
Reviewed-on: #430
Reviewed-on: #449
Reviewed-on: #423
Reviewed-by: c24carso <c24carso@noreply.localhost>
Reviewed-by: Elinus Persson <c24elipe@noreply.localhost>
Reviewed-on: #454
Reviewed-by: c24danli <c24danli@noreply.localhost>
Code template taken from Johans index.js file which we removed
e37ac6a79a/frontend/src/components/index.js
More index.js files, fixed a jsx comment in Dashboard.js, removed unnecessary imports in Home.js
index.js for components
API calls should use the useApi function to minimize repetition, this removes a lot of code and dependencies
Reviewed-on: #407
Reviewed-by: Elinus Persson <c24elipe@noreply.localhost>
Reviewed-on: #434
Still trying to edit the actual resize pointer, without any result
Saves when stuff is moved, but not when reload page (next fix)
Text saves even when one reloads page. Saves after someone starts typing anything
Reviewed-on: #457
Reviewed-on: #422
Added comments and moved the function to saveGrid file.
Reviewed-on: #425
Reviewed-by: b24idalu <b24idalu@noreply.localhost>
Grid background now expands dynamically based on the lowest positioned item in the layout. “Removed TemperatureAllView temporarily due to "runtime error”
UseApi
Removed some old commented-out code and made the middleware log more readable in the console by segmenting each message. (Just prints a "-----------------------" to make each message distinct)
Saves when enter or blurred out instead now, logic can be copied over to other views as well
Tested on my own computer
Reviewed-on: #455
Reviewed-by: Elinus Persson <c24elipe@noreply.localhost>
Reviewed-by: Eric Grändinger <a22erigr@noreply.localhost>
Reviewed-on: #431
Reviewed-by: Sakine Mazlomyar <a24sakma@noreply.localhost>
now you can change size/color on resize handle.
added sql_datatypers and id to fit middleware
Reviewed-on: #447
Reviewed-on: #460
Reviewed-by: Sakine Mazlomyar <a24sakma@noreply.localhost>
Reviewed-on: #451
Did the installation AND rebuild script (wow)
Added the inline to not get the horizontall scroll
Added .vscode to .gitignore
Re-added logos and favicon
Footer had some unexplained margin at bottom when in a parent div. Removed this as well as margin top
This needs to be broken out at some point, we also need to set max cols dynamically at some point.
Found the new tempMockup test in its branch and reimplemented it. It fails however (1 out of 4) and the original developers needs to look at it.
change comments.
maping needed to be after checking for errors.
🚀 Excited to share a major win in engineering efficiency!

I’ve just optimized our Unix rebuild script, successfully shaving 13
seconds off the total build time. ⏱️ By implementing parallelism, we’ve
significantly streamlined our workflow and boosted productivity.

To ensure data-driven results, I developed a custom test script to
accurately measure average execution time and verify these improvements.
📊

Efficiency isn't just about speed—it's about working smarter. 💡

#EngineeringExcellence #DevOps #Optimization #SoftwareEngineering
#Efficiency #TechInnovation
(Generated using https://translate.kagi.com/?from=en&to=linkedin)
Right now it functions, but it does not expand as expected (grid wise)
This fix is only for development (since it fetches our own schedule) and should be removed in prod
added height scaling
TempView- changed back to new view as it disepered in merge.
GenerateMockup now use real as middleware cant use dubble.
sevice now querry the values insted of  payload
This reverts commit 18801ff6f6.
Reviewed-on: #511
Reviewed-by: Tim Svensson <a24timsv@noreply.localhost>
overflow on card so that buttons stay in place, now views inside cards wont be displayed outside off it.
Reviewed-on: #514
- Broke out the toggle switch into its own component and style sheet.'
+ Created ToggleButton folder containing ToggleButton.js and ToggleButton.module.css.
+ Updated /components/index.js to export new ToggleButton
- Integrated it with Dashboard.js.
- Removed toggle switch entries from Dashboard.module.css.
This was by mistake merged to the temp branch
Reviewed-on: #509
Reviewed-by: Abdalrahman Alhindi <c22abdal@noreply.localhost>
have integrated the reader into to service (as a seperate class) and started on working with adding additional endpoints, currently only delete and createmockup
Commit includes updating index to import tooltip, change Card.js so overflow is put on an seperate div so scroll do not cover whole card. Removed css for tooltip since it messed up the buttonpanel. New css for dashboard, removebutton style is removed and put in css as well as css for buttonpanel and their items
fixed scaling for cards.
The first render when useTemperature dont know what sensor names that exist in the db "any" is used, this is changed to a wild card in the querry to give any sensor. Renders after the first use the actual sensorId's
Changes in generateMockup is only the names can be anything.
Reviewed-on: #518
Also replaced also replaced argument in getViewSizeConfig to actually use the parameter with a value
Added sudoku view that was created on earlier branch (#377-sudoku-view) and tested to make sure everything still works.
week endpoint to get average temp from specific week
Added so HTTP 404 returns null instead so cards can still be shown
I have added the functionality so search by building and search for a spesific room in a building.
Created some documentation for the functions of the classes.
Cleaned up some old commented out code
Reviewed-on: #503
Cells are now almost squares
all current views now have their own output when hovering the tooltip symbol.
now the tooltip "box" is displayed within the card, text "box" will now resize related to how big the card is.
Updated to new structure and made it so average is calculated directly from SQL
Sharedfeatures is now used across the views together with the new sensor id variable.

/year and /month/year now works again
Added reviewed comments
Views for /year/week now functioning
Made a new file to handle the functionality of adding new cards. This functionality is now handeld in useAddNewView.js
Made sure that NO DATA card is shown when there's no data instead of HTTP error.
+ The endpoint send to tempService
+ Received from tempService model TempRespons
  + TempRespons contains
    + bool IsSuccess
    + string? ErrorMessage
    + object? Data
      + all data from tempService is stored as object
+ TempData
  + string sensorId
  + DateTime timestamp
  + double temperature
+ TempResponse
  + acts as a wrapper
# TempService
+ Is the file containing all logic
+ acts as a middleman between database and endpoints
+ all database logic appears here. Important to note that these files
only execute database commands. Nothing more
+ Note was not able to translate http to https. This should be
implemented in the future
+ Have tested all the endpoints on my computer. They successfully
reaches the database layer but because of the changes in middleware i
did not reive any data from the database. I was able to test the error
messages tho
Added a picture(cant be used later for legal resons)
added a function to choose picture based on temp, might be changed to use SMHI's weather codes for better match.
added to card to be able to accept background aswell.
Added language context (useLanguage.js), example language files (en.json/sv.json), and language selector component in settings.
Added columns based on breakpoints and removed previous option.
Card.js: add parameter className witch adds recived css to the curently used style.card.
getImageBg.js: decides witch css to use in SMHITemperatureView.
module.css: removed inline and put it in css file.
View.js : removed inline for the img

Left: remove other inline styles,
add remaining temp pictures,
Make it more dynamic then just hot,cold & mild
Might have to think about how to display the text nicely, depending on user settings it can be hard to see. having the text color hardcoded is an option but can make it feel strange when other views change but not this one
removed artifacts that came with it after copying from loginService
Add support for custom scrollbars in theme.css in folder (app)
Updated code to close the menu when user clicks outside the menu.
Reviewed-on: #530
Reviewed-on: #568
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
Updates sizes on request, and changed variable name to make it more obvious what it was.
Changes:
-have addded 3 jpg pictures in src\assests that can be used now.
- getImageBg is just a function that chose the img to use
- SMHITempratureView have removed all onld inline and changed to css and it sends with the css backround-image to be used by card.js
- and added a css file for the view
- samll change in Card.js to accept additional css for background-image mostly
/week now also fetch min and max temperature from the database
added hexcodes insted of "white",
and removed some old comments
All aggregated endpoints now show min, max, and average tempeartures.
properly show max and min
In person review, and fixes of the code.
-Added missing paths to the Windows installation script
- Added MQTT creds to docker compose
- Added the MQTT environment variables to readMockup file
- Added energyMockup csproj to Solution file
Better output for when there's no data
2 new logos added to assets
Reviewed-on: #545
changed the naming convention and removed unnassesary coments and old imports
Reviewed-on: #548
Added Legal page component, route, and updated footer link.
Reviewed-on: #556
Reviewed-on: #557
Reviewed-by: Abdalrahman Alhindi <c22abdal@noreply.localhost>
Added About page component, route, and updated footer link to point to it.
Reviewed-on: #572
Reviewed-on: #561
+ nvim.appimage: Remove
+ DatabaseQueries.cs line 39: Split into two lines
+ TempRespons.cs: Rename file to TempResponse.cs
+ Program.cs: Remove duplicate AddScoped<ITempService, TempService>
+ TempService.cs: Change ValidSensorRequest to check for "temp-sensor-"
instead of "temp-sensor-001"
+ TempEndpoints.cs: Add {sensorId} to the /temperature/sensors route or
remove the parameter
Reviewed-on: #565
Reviewed-by: b24idalu <b24idalu@noreply.localhost>
now we send additional css from view to card the same way. Currently used in SMHITempratureView for background img and hardcoded background change in booking.
This is just prof of consept on background color, later issues will have that a user can chage background on individual views
Reviewed-on: #597
Reviewed-by: Elinus Persson <c24elipe@noreply.localhost>
+ All endpoints are now created
+ Models for transporting data implemented
+ Service recive request. No logic implemented
+ All of the database functions are now implemented
  + Not tested with database but get the result "Name or service not
known" when using bruno
+ Updated the service
+ Uses more modern npgsql standard
Reviewed-on: #594
Cleaned out commented out code and removed the roomBookingDbHandler files.
removed DbHandlern from scripts and added potentially nececary pakages in the installation scripts
Fixed the bug that roombooking does not reach mqtt user and password environmental variables.
Only needed to add them in the compose file.
Reviewed-on: #563
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
Reviewed-on: #580
Reviewed-on: #562
Reviewed-on: #566
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
Reviewed-on: #583
Reviewed-by: Elinus Persson <c24elipe@noreply.localhost>
Reviewed-on: #586
Reviewed-on: #582
Reviewed-on: #601
Reviewed-on: #595
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
Reviewed-by: Elinus Persson <c24elipe@noreply.localhost>
Reviewed-on: #546
Added commands for checking dependencies on both installation scripts
Reviewed-on: #540
Reviewed-by: Tim Svensson <a24timsv@noreply.localhost>
Fixed button color to work with different themes and lightmode.
Added missing background-color parameter to DangerModal.module.css.
have changed the css file to have the option of being more dynamic in the future/easier to add more backgrounds and symbols. it also made it so its less repetition of code. No changes in functiuality exept that a temporary symbol is displayed in the top right that will be changed to an appropriate symbol later
chrome/edge needed align items in order to have the same output.
works to choose weater background and symbol dynamicly. Now the 27 symbols needs to be created and annded to the css and assets files
alot of symbols added for weater
There was a view missing in tooltip config.
+ it is now possible to both reach all endpoints and get  desired result
+ Implemented database logic
+ Implemented the ability to fech layouts
+ Implemented the ability to save layouts
+ Implemented GetlayoutNameAndID.
  + Returns a json array containing Name and ID
Reviewed-on: #559
Reviewed-on: #621
Reviewed-on: #618
Reviewed-on: #614
Reviewed-on: #611
Reviewed-on: #606
Reviewed-by: Tim Svensson <a24timsv@noreply.localhost>
Changes:
- I Have chaged api to the one used in SMHIForecastView as its uppdated often compared to the previus that uppdated once a day.
- changes in SMHITemperatureView to match the new object from changing api.
- added the rest of the symbols in the css file.
- As the URL never change it gets cached and doesnt uppdate on the site, i have changed the hook to not cache the API call
- added an option to sharedFetures witch is there to accept the no cache from the hook
Reviewed-on: #584
only width, not height
Reviewed-on: #627
Reviewed-on: #634
Reviewed-by: Tim Svensson <a24timsv@noreply.localhost>
Updated project and solution file
Reviewed-on: #641
removed duplicate add new view functionality
Updated script with correct MQTT version
path to readEnergySensor was incorrect
Reviewed-on: #653
Change from height: 100%; to min-height: 0;
+ changed sql queries
+ change business logic for year and year month
+ Tested on my computer using bruno. Works
Updated all JavaScript files to comply with Prettier
Removed "options" from dependency array due to API spam.
Reviewed-on: #660
readEnergySensor was not in the right network and an old Program.cs file got deleted
+ Endpoints now error message
+ Moved interface for service to separate file
This reverts commit 557b649364.
Added test folder to readEnergySensor and referenced it according to Wiki
Added test folder to generate energyMockup
Added link to wiki in root README for easier access to installation page
Some folder were misspelled and some were missing, fixed those
Reviewed-on: #674
Reviewed-on: #675
fixed decimals in TemperatureView as its stored as a real in db for the moment
Reviewed-on: #678
Reviewed-by: Elinus Persson <c24elipe@noreply.localhost>
Reviewed-on: #683
Reviewed-on: #676
Reviewed-on: #684
Reviewed-on: #682
Reviewed-on: #671
-Set the totalRowHeight to rowHeight for a more dynamic gridsize.
-Changed the minRowsToFillScreen calculation to round down instead of up. This is to ensure the grid is not overlapping the footer.
-Moved gridSizes above totalRowHeight so we can use rowHeight whit it.
Fixed correct reference to theme.css, it had been moved without the reference being updated. Also rearranged imports to make it clearer what stuff is imported.
Reviewed-on: #666
Fixed so that closing a view in mobile now only require one "click", changed some previous css so that it follows coding standards.
Optimized png sizes through online tools. Went from 500kb to 26kb
Optimized ico, went from 600kb to 15kb
changed the internal logic of the db handler to send sql queries instead of sending to the mqtt broker
Function now gets executed when deleting a card or reseting to default layout, which fixed the problem of the footer randomly being in the middle.
Added lazy loading to webpages.
/*using (var connection = new SQLiteConnection($"Data
Source={databasePath};Version=3;"))
        {
          connection.Open();

          string insertQuery = "INSERT INTO EnergySensorValues
(SensorId, Timestamp, Kilowatt) VALUES (@sensorid, @timestamp,
@kilowatt)";

          using (var command = new SQLiteCommand(insertQuery,
connection))
          {
            // Parameters to prevent SQL injection
            command.Parameters.AddWithValue("@sensorid",
response?.sensorId ?? "unknown");
            command.Parameters.AddWithValue("@timestamp",
response?.timestamp ?? null);
            command.Parameters.AddWithValue("@kilowatt",
response?.kilowatt ?? null);

            int rowsAffected = command.ExecuteNonQuery();
            Console.WriteLine($"Sqllite rows inserted: {rowsAffected}");
          }

          connection.Close();
        }
      } // Loop end
    }
  }*/
Reviewed-on: #704
Reviewed-by: Sakine Mazlomyar <a24sakma@noreply.localhost>
Reviewed-on: #705
Reviewed-by: Eric Grändinger <a22erigr@noreply.localhost>
Removed the last row so it wont overlap whit the footer.
Round down the amount of rows the function for updating the grid on dragg was calculating.
Reviewed-on: #670
Added auto refresh to TemperatureView. Every 15 seconds a counter increases which causes the temperature data to be fetched again.
1. Updated ComparePassword to instead be VerifyPassword

2. added logging

3. fixed some mutations that shouldn't have been added

4. Added error codes

5. Created UserRow  (the row from the database as a object)

6. Removed app.UseHttpsRedirection

7. Fixed some mapping issues with the service
Tested loading on both sites and on imports in dashboard, didnt change loading speed too noticeable, around 40kb at most.
UpdatetData -> UpdateData
DeletetData -> DeleteData
Sorry, meant to add it to the last commit xD
Reviewed-on: #711
Changed the check for disabling edit so that it checks for enter and shift press.
Centered the footer columns by changing text align from left to center. Added scroll to when clicking the About Us link.
- change multiline comment to single line
- renamed Db rows to DBRows
now hamburger menu is not "hardcoded" to a position, it follows the height of navbar with 2vh off so it wont be placed over the navbar itself.
Added 'Z' to tell JS that the timestamp is UTC so it converts to the local time for the current machine.
Reviewed-on: #734
Reviewed-on: #736
Reviewed-on: #721
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
since navbar use 1rem in padding
Reviewed-on: #739
Reviewed-on: #720
Shows total energy during this month from all sensors
Reviewed-on: #735
Reviewed-on: #719
Reviewed-on: #738
now when center logo is viewed in smaller "screens" than 768px it will display the "b" logo on the left side. If it is bigger the original logo is displayed.
This was an earlier feature that did not work after my previous changes to the menu, did not work with "display block".
total-all didn't work but total/all works
Outputs energy from specific sensor. hardcoded for the moment.
Before it added a new value into the card as a row at each fetch, making the card grow indefinetely.
Add descriptions for energyview and energyallview
Created the script files inside the ./service folder. Will start with the batch one
Created a navbar skeleton for slow loading. Moved some of the pictures to public, and fixed the img urls to show the new path.
added word-break so that even smaller screens can display text, as well as text-align center to get the text in place.
Fix so preview of card has a default sensor of 001 so it shows output
Added footer skeleton and removed blueprint code from theme.css.
Days now start collapsed instead of expanded. Changed Swedish to English.
Reviewed-on: #754
Added folder creation
Reviewed-on: #750
Reviewed-on: #753
Added light/dark mode
Added preloading on images since it took too long to load sometimes (showed their alt text for a split second). Does not always work, but fixes some of the loading issues.
Reviewed-on: #747
Reviewed-on: #758
Reviewed-by: b24idalu <b24idalu@noreply.localhost>
1. Fixed a spelling mistake  categoires -> categories
2. Removed a none existent style class.
3. Removed unnecessary variable
4. Ran prettier to double check
Reviewed-on: #751
Reviewed-on: #696
Reviewed-by: Elinus Persson <c24elipe@noreply.localhost>
Reviewed-on: #755
Reviewed-by: Tim Svensson <a24timsv@noreply.localhost>
Reviewed-on: #757
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
Reviewed-on: #756
Reviewed-by: b24idalu <b24idalu@noreply.localhost>
Removed camelcase and added hyphens
Reviewed-on: #744
Reviewed-by: Tim Svensson <a24timsv@noreply.localhost>
Reviewed-on: #759
Reviewed-by: b23albst <b23albst@noreply.localhost>
Some code was nestled, seperated clock, energy and energyall.
Added comment
Reviewed-on: #773
Reviewed-by: c24danli <c24danli@noreply.localhost>
Reviewed-on: #775
Reviewed-by: c24danli <c24danli@noreply.localhost>
Reviewed-on: #774
Reviewed-on: #777
The template for services are done, with all necessary files. Not modular at all. Also there is a problem with capitalization since batch doesn't feature it on its own.
Added all the necessary components for testing and linked the projects. Also fixed parts that wasn't using the service name.
Reviewed-on: #785
Reviewed-by: b24idalu <b24idalu@noreply.localhost>
translate impacts the reset layout "prompt" making it now clickable in certain cases and can not be fixed with z-index, new approach but does not look as good.
caused the button to move with the screen while scrolling
Reviewed-on: #781
Based on b24krila's comments in issue #643, as well as some of my own thoughts
Made the decision that the user has to input the capitalized name manually, since Batch doesn't feature such a command.
Reviewed-on: #783
Updated:
- Updated TagsCorrect test to account for the new properties: id and sql_datatypes.
- Updated sensorIdValueIsValid test with a new regex pattern.

Added:
- Added proper XML descriptions to all methods.
- New unit test to validate the sql_datatypes property.
Merely renaming the folder doesn't update the files that are generated when creating a new dotnet project, so recreating it by using a template was necessary.
roombooking keeps restarting because of som sort of dll error, fixed it by changing the name to camelcase
have created all the neccesary directories and files and have started filling the files with code, have finished the majority of database logic
have started on services
Did dokumentation on database logic
Added a null return statement.
Reviewed-on: #796
Reviewed-by: b23albst <b23albst@noreply.localhost>
Reviewed-on: #794
Added the rest of the functionality to the service
Changed so that the booking class uses upercase for first letter
Fixed some syntax errors
Moved the dokumentation of database queries to its interface
Added Unix variant
Switched from " to '
Reviewed-on: #795
Reviewed-on: #793
Moved the scripts to the scripts directory, also added pathing to the service folder
removed hardcoded position of toolbar for mobile, centered toolbar to the toggle div. Changes transition value, new css.
Added select buttons to select year
Deleted code since this if statement will never be used. Year will always start with the current year.
Added the option to select month and year
Deleted code that will never be used, since year and month are set to the current time.
Removed more code that will never be used.
Need to see what endpoints to add after customer meeting

Energy front end cards are also now broken due to changed enpoint names which will need to become a new issue
Changed title and removed more code not being used
Made the preview header sit more at the top.
removed padding/margin from toggle button, made toolbar item way to big.
Removed and resized stuff to make the card fit better.
Add pointer cursor to hamburger menu on hover
Removed some margin for the card.
Reviewed-on: #817
Reviewed-on: #805
Reviewed-on: #806
Make grid cells square at all zoom levels
Needed to move everything from one branch to another, thus the large commit
Minor bugfixes:
- The .dll file was not created with the service name
- The comparison in the Unix script was not checking the right name
Script to add csproj to slnx
Sorry for activity farming
Added script for Linux/Mac same as the one for Windows
Fixed some content not being shown.
Reviewed-on: #792
Reviewed-on: #784
Reviewed-on: #823
a function so that the icon of toolbar is changed at the same speed as toolbar transition, one direction does not swap at exact time but it was somewhat out of scope of this issue.
Reviewed-on: #801
Reviewed-on: #809
Added the parkingService to the entrypoint and build script (Windows)
Changed css and removed center div in navbar
Reviewed-on: #812
Reviewed-on: #814
Reviewed-on: #820
Reviewed-on: #839
Reviewed-on: #831
Reviewed-by: Sakine Mazlomyar <a24sakma@noreply.localhost>
Switched from bash to tr string conversion since tr bash conversion didn't work on all bash versions and probably not on MacOS.
Reviewed-on: #790
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
Reviewed-on: #841
Reviewed-on: #819
Reviewed-on: #816
Reviewed-by: b24idalu <b24idalu@noreply.localhost>
Reviewed-on: #842
Done by j21marbr
Changed Unix script to avoid <<< as it can cause error with some shells.
Now the service can contact the DB and retrieve data (yippie).
Also added an endpoint that gives info on a specific spot
padding now has size of gap so that the distance between them seems more equal. Buttons has a min width to no limit longer named buttons, changed flex direction to row instead of column in phone, which resolve misplacement of text.
Fixed the reviewers feedback
users -> sensors happened
Yet another small bugfix where Username had been changed to usercapital_name in a change all occurrences previously done.
Now all endpoints deliver the correct data, also added an endpoint to view all available zones (for dropdown or similar)
Reviewed-on: #851
Wrote the README and did some cleanup in SpotGenerator
Reviewed-on: #830
Done by @c22abdal
Reviewed-on: #832
Done by @c22abdal
added code for endpoints
added code for program.cs
the service builds and the endpoints sems to work
Reviewed-on: #849
Reviewed-by: Sakine Mazlomyar <a24sakma@noreply.localhost>
Reviewed-on: #811
Reviewed-by: Sakine Mazlomyar <a24sakma@noreply.localhost>
Fixed the error where there are extra bookings created with same values of existing, where i want to create 8 there end upp 15 total
Reviewed-on: #808
Reviewed-on: #857
Reviewed-by: Hampus Löwén <a24hamrh@noreply.localhost>
Added a new endpoint that shows special spots, with the attributes charging, disabled and reserved.
Removed the hamburger menu and replaced it with two navigation buttons using Material Design icons.

Added:
- Settings button
- User button

Updated styling to support both light and dark themes using existing theme variables.
Due to some local issue, i couldn't verify that the decimals have been reduced to one. However, code wise the change has been made in TemperatureView.js
- Updated Settings.js to accept localization.
- Updated the localization files with new key-string pairs for the settings page.
- Replaced all titles and descriptors on the settings page with the new translate function.
Reviewed-on: #854
Done by  j21marbr
+ Changed the height cap for showing scrollbar from 90% to 80%.
+ Now scrollbars only appear if the content in the card is bigger than the card.
Went outside (woah) and checked what all spots have for attributes.
Removed the old backup code
Removed unused code and comments that are not necessary
Replaced all Console.WriteLine calls with ILogger in layoutService. LogError for catch blocks, LogInformation for endpoint calls and database operations.
Reviewed-on: #878
Gets the current month and sets the themes for html.

css for themes are not implemented, just the selectors.
Reviewed-on: #826
Converting the options to a string stabilizes it and can be passed safely as a dependency.
Added parkingService components to the installation and build scripts
Replaced imported MUI icons with local SVG icons
- Removed unused dependencies from last comit
- Updated styling to follow current CSS conventions
Had a lot of redundant styling so I made a separate .css file
Style update for temperature month view
styling update for temperature year view
- Finished localizing UI buttons on settings page.
- Localized the "about us" page.
- Fully localized the Support page.
Implemented more into .css file which removed a lot of redundant code
The transition now works, next is the arrow
Now everything should work
Reviewed-on: #884
Reviewed-by: Abdalrahman Alhindi <c22abdal@noreply.localhost>
Fixed the API_URL so the frontend doesn't break
Removed redundant variable
Reviewed-on: #875
Done by j21marbr
Reviewed-on: #887
Reviewed-on: #882
Reviewed-by: Sakine Mazlomyar <a24sakma@noreply.localhost>
Reviewed-on: #892
Reviewed-on: #850
Reviewed-by: Tim Svensson <a24timsv@noreply.localhost>
broke out the function to get curr month, used both and now are imported to settings/app. Added toggle button to settings for seasonal themes, added so settings for themes are now stored.
Reviewed-on: #907
Reviewed-by: Tim Svensson <a24timsv@noreply.localhost>
- Added localization to the Dashboard.
- Added localization to the Add Card Modal.
- Added localization to the Danger Modal.
- Added localization to the legal page.
Redesigned the login page to follow the Figma design from #864. Added floating label inputs, password visibility toggle with SVG icons, "Continue as Guest" button, and "Sign up" link. Light and dark mode supported using light-dark() for color switching. Updated CSS to follow the new kebab-case.
Reviewed-on: #827
The usage of sudo in the installation made the NPM (node modules) to not have the suitable privileges to create directories.
Reviewed-on: #881
Made changes locales strings based on feedback.
Made buttons larger and placed them at the edges instead of in the center
Reviewed-on: #897
Reviewed-by: Noah Berhane <a24noabe@noreply.localhost>
Reviewed-on: #914
Switched to a better looking chevron style and rounded buttons.
updated css, removed dark/light-mode since it will be a separate setting, made changes to settings css so that it wont override the css for styleselect component.
Should match the figma dark mode design more closely now.
Added automated tests for the SMHI forecast hook (useSMHIForecast). The tests verify that the hook:

- builds the correct SMHI API URL using latitude and longitude
- passes the refresh dependency correctly
forwards fetch options (cache: 'no-store')
- returns the response from useApi

The tests use mocked dependencies instead of real SMHI API calls to keep the test suite fast and reliable.
Reviewed-on: #911
Reviewed-by: Hampus Löwén <a24hamrh@noreply.localhost>
Reviewed-on: #912
Reviewed-on: #913
Reviewed-by: Sakine Mazlomyar <a24sakma@noreply.localhost>
Added comment explaining the change
Reviewed-on: #917
Reviewed-by: b24idalu <b24idalu@noreply.localhost>
Removes the unnecessary scroll-wheels on cards
since there is no data-style for root, I added this selector so that the button could have it's colors. Default theme will still be the same.
Reviewed-on: #923
Reviewed-on: #916
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
Reviewed-on: #898
Reviewed-by: Hampus Löwén <a24hamrh@noreply.localhost>
Updated this since I noticed the other views have one each
Added a layout for login/logout in settings, and language support
Fixed convention
implemented logger instead of console.writeline
Replaced Console.WriteLine with ILogger in tempService.
dark mode removed from styleselect, now added to settings
Reviewed-on: #926
Reviewed-by: b23albst <b23albst@noreply.localhost>
Reviewed-on: #918
Reviewed-by: b23albst <b23albst@noreply.localhost>
Reviewed-on: #928
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
Sorted localies alphabetical and fixed inline css to separate file
Fixed height issue
Reviewed-on: #895
Reviewed-by: Erik Karlsson <b24erika@noreply.localhost>
Removed imports
Reviewed-on: #931
Reviewed-by: Sakine Mazlomyar <a24sakma@noreply.localhost>
Reviewed-on: #930
Reviewed-by: Vincent Lamppa Lönnbro <a24vinla@noreply.localhost>
Reviewed-on: #932
Reviewed-by: Hampus Löwén <a24hamrh@noreply.localhost>
Reviewed-on: #888
Reviewed-on: #848
Duplicate code.
Login buttons
To one decimal
changed CSS names to kebab-case and removed a duplicate.
moved inline styling to css file
b24idalu requested changes 2026-05-19 14:24:38 +00:00
Dismissed
b24idalu left a comment
Collaborator

Review on #958

Whats done

Implemented västtrafik view

Tested on Windows using Chrome

  • App does not start
    • From looking at docker it looks like not every service exists as a container, while this is the case in the main branch.
    • Images are being created, but no containers nor volumes.

Inspected following files

  • frontend/src/features/vasttrafik/VasttrafikView.js
    • Appending styles are not implemented right, should be styles['title'] for example (row 16)
    • Translation is missing on row 29 and 38 (departures/arrivals)
  • frontend/src/features/vasttrafik/VasttrafikView.module.css
    • Name should use kebab-case, for example tab-button instead of tabButton
    • Cannot check if colors suit dark/light mode and themes
  • scripts/UnixInstallation.sh & scripts/WindowsInstallation.bat
    • Does not look the same as the other id/secrets, but cannot verify if they work

Everything else looks good and is commented on. Unsure if some changes were done on purpose or happened when fixing merge issue (such as roomBookingService to roomBookingApiMockup or parkingService being removed)

What needs to be done

  • Fix comments above
  • Check if you get the app running//fix the app not running issue

Conclusion

  • Not ready for merge
# Review on #958 ## Whats done Implemented västtrafik view ### Tested on Windows using Chrome + App does not start + From looking at docker it looks like not every service exists as a container, while this is the case in the main branch. + Images are being created, but no containers nor volumes. ### Inspected following files + frontend/src/features/vasttrafik/VasttrafikView.js + Appending styles are not implemented right, should be styles['title'] for example (row 16) + Translation is missing on row 29 and 38 (departures/arrivals) + frontend/src/features/vasttrafik/VasttrafikView.module.css + Name should use kebab-case, for example tab-button instead of tabButton + Cannot check if colors suit dark/light mode and themes + scripts/UnixInstallation.sh & scripts/WindowsInstallation.bat + Does not look the same as the other id/secrets, but cannot verify if they work Everything else looks good and is commented on. Unsure if some changes were done on purpose or happened when fixing merge issue (such as roomBookingService to roomBookingApiMockup or parkingService being removed) ## What needs to be done + Fix comments above + Check if you get the app running//fix the app not running issue ## Conclusion + Not ready for merge
Author
Collaborator

image

![image](/attachments/e59829ba-5109-4c5f-bbd5-1494d1ca64bc)
b24idalu left a comment
Collaborator

Missing this line in the rebuilds:
::västtrafikService
docker build -t vasttrafikservice ./service/vasttrafikService/vasttrafikService

Ppl should add VASTTRAFIK_ID and VASTTRAFIK_SECRET to their envs
Unsure if parkingService is needed, but that is still removed in the compose.yaml.

In scripts/WindowsInstallation.bat, there is a merge/change request

It is missing a unit test

Not ready for merge

Missing this line in the rebuilds: ::västtrafikService docker build -t vasttrafikservice ./service/vasttrafikService/vasttrafikService Ppl should add VASTTRAFIK_ID and VASTTRAFIK_SECRET to their envs Unsure if parkingService is needed, but that is still removed in the compose.yaml. In scripts/WindowsInstallation.bat, there is a merge/change request It is missing a unit test Not ready for merge
Collaborator

Re-base after merge, fix the problems and create a new PR

Re-base after merge, fix the problems and create a new PR
a22erigr closed this pull request 2026-05-20 07:50:02 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Andras/BoundlessFlowCampus2K!958
No description provided.