Optimise imports
This commit is contained in:
		
							parent
							
								
									e0a61196ce
								
							
						
					
					
						commit
						226121ac16
					
				
					 4 changed files with 23 additions and 25 deletions
				
			
		|  | @ -1,8 +1,8 @@ | ||||||
| const raylib = @import("raylib.zig"); | const raylib = @import("raylib.zig"); | ||||||
| const rl = raylib.rl; | const rl = raylib.rl; | ||||||
| const stateMod = @import("state.zig"); | const AppState = @import("state.zig"); | ||||||
| 
 | 
 | ||||||
| pub fn render(state: *stateMod.AppState) !void { | pub fn render(state: *AppState) !void { | ||||||
|     while (raylib.GetKeyPressed()) |key| { |     while (raylib.GetKeyPressed()) |key| { | ||||||
|         switch (key) { |         switch (key) { | ||||||
|             rl.KEY_LEFT => { |             rl.KEY_LEFT => { | ||||||
|  |  | ||||||
							
								
								
									
										26
									
								
								src/home.zig
									
										
									
									
									
								
							
							
						
						
									
										26
									
								
								src/home.zig
									
										
									
									
									
								
							|  | @ -1,8 +1,8 @@ | ||||||
| const std = @import("std"); | const std = @import("std"); | ||||||
| const raylib = @import("raylib.zig"); | const raylib = @import("raylib.zig"); | ||||||
| const rl = raylib.rl; | const rl = raylib.rl; | ||||||
| const state_mod = @import("state.zig"); | const AppState = @import("state.zig"); | ||||||
| const curl_mod = @import("curl.zig"); | const Curl = @import("curl.zig"); | ||||||
| 
 | 
 | ||||||
| fn curlWriteHandler(ptr: [*]u8, size: usize, nmemb: usize, userdata: *std.ArrayList(u8)) callconv(.C) usize { | fn curlWriteHandler(ptr: [*]u8, size: usize, nmemb: usize, userdata: *std.ArrayList(u8)) callconv(.C) usize { | ||||||
|     _ = size; |     _ = size; | ||||||
|  | @ -10,13 +10,13 @@ fn curlWriteHandler(ptr: [*]u8, size: usize, nmemb: usize, userdata: *std.ArrayL | ||||||
|     return nmemb; |     return nmemb; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| fn fetchThread(state: *state_mod.AppState) !void { | fn fetchThread(state: *AppState) !void { | ||||||
|     std.debug.print("Started fetchThread\n", .{}); |     std.debug.print("[home/fetchThread] Started\n", .{}); | ||||||
|     defer std.debug.print("Ended fetchThread\n", .{}); |     defer std.debug.print("[home/fetchThread] Ended\n", .{}); | ||||||
|     defer state.home_screen_state.fetch_thread = null; |     defer state.home_screen_state.fetch_thread = null; | ||||||
|     const allocator = state.allocator; |     const allocator = state.allocator; | ||||||
|     var station_name_buf = std.BoundedArray(u8, 200){}; |     var station_name_buf = std.BoundedArray(u8, 200){}; | ||||||
|     var curl = curl_mod.init() orelse return; |     var curl = Curl.init() orelse return; | ||||||
|     defer curl.deinit(); |     defer curl.deinit(); | ||||||
|     const locations_base = "https://v6.db.transport.rest/locations"; |     const locations_base = "https://v6.db.transport.rest/locations"; | ||||||
|     var locations_uri = std.Uri.parse(locations_base) catch unreachable; |     var locations_uri = std.Uri.parse(locations_base) catch unreachable; | ||||||
|  | @ -30,7 +30,7 @@ fn fetchThread(state: *state_mod.AppState) !void { | ||||||
|         station_name_buf.resize(state.home_screen_state.station_name.items.len) catch continue; |         station_name_buf.resize(state.home_screen_state.station_name.items.len) catch continue; | ||||||
|         std.mem.copyForwards(u8, station_name_buf.slice(), state.home_screen_state.station_name.items); |         std.mem.copyForwards(u8, station_name_buf.slice(), state.home_screen_state.station_name.items); | ||||||
| 
 | 
 | ||||||
|         std.debug.print("[fetchThread] Detected update: {s}\n", .{station_name_buf.slice()}); |         std.debug.print("[home/fetchThread] Detected update: {s}\n", .{station_name_buf.slice()}); | ||||||
| 
 | 
 | ||||||
|         curl.reset(); |         curl.reset(); | ||||||
| 
 | 
 | ||||||
|  | @ -38,7 +38,7 @@ fn fetchThread(state: *state_mod.AppState) !void { | ||||||
|         defer allocator.free(query); |         defer allocator.free(query); | ||||||
|         locations_uri.query = query; |         locations_uri.query = query; | ||||||
|         defer locations_uri.query = null; |         defer locations_uri.query = null; | ||||||
|         std.debug.print("[fetchThread] Making request to: {}\n", .{locations_uri}); |         std.debug.print("[home/fetchThread] Making request to: {}\n", .{locations_uri}); | ||||||
| 
 | 
 | ||||||
|         const url = try std.fmt.allocPrintZ(allocator, "{}", .{locations_uri}); |         const url = try std.fmt.allocPrintZ(allocator, "{}", .{locations_uri}); | ||||||
|         defer allocator.free(url); |         defer allocator.free(url); | ||||||
|  | @ -50,17 +50,17 @@ fn fetchThread(state: *state_mod.AppState) !void { | ||||||
|         _ = curl.setopt(.write_data, .{&result}); |         _ = curl.setopt(.write_data, .{&result}); | ||||||
| 
 | 
 | ||||||
|         const code = curl.perform(); |         const code = curl.perform(); | ||||||
|         std.debug.print("[fetchThread] cURL Code: {}\n", .{code}); |         std.debug.print("[home/fetchThread] cURL Code: {}\n", .{code}); | ||||||
|         if (code != 0) continue; |         if (code != 0) continue; | ||||||
| 
 | 
 | ||||||
|         std.debug.print("[fetchThread] Fetched data: <redacted>(len: {})\n", .{result.items.len}); |         std.debug.print("[home/fetchThread] Fetched data: <redacted>(len: {})\n", .{result.items.len}); | ||||||
|         const parsed = std.json.parseFromSlice([]const std.json.Value, allocator, result.items, .{}) catch |err| { |         const parsed = std.json.parseFromSlice([]const std.json.Value, allocator, result.items, .{}) catch |err| { | ||||||
|             std.debug.print("[fetchThread] JSON parse error: {}\n", .{err}); |             std.debug.print("[home/fetchThread] JSON parse error: {}\n", .{err}); | ||||||
|             continue; |             continue; | ||||||
|         }; |         }; | ||||||
|         defer parsed.deinit(); |         defer parsed.deinit(); | ||||||
| 
 | 
 | ||||||
|         var results = std.ArrayList(state_mod.HSSuggestion).init(allocator); |         var results = std.ArrayList(AppState.HSSuggestion).init(allocator); | ||||||
|         for (parsed.value) |station| { |         for (parsed.value) |station| { | ||||||
|             if (station.object.get("name")) |nameValue| { |             if (station.object.get("name")) |nameValue| { | ||||||
|                 const name = nameValue.string; |                 const name = nameValue.string; | ||||||
|  | @ -85,7 +85,7 @@ fn fetchThread(state: *state_mod.AppState) !void { | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| pub fn render(state: *state_mod.AppState) !void { | pub fn render(state: *AppState) !void { | ||||||
|     var hs = &state.home_screen_state; |     var hs = &state.home_screen_state; | ||||||
| 
 | 
 | ||||||
|     if (hs.fetch_thread == null) { |     if (hs.fetch_thread == null) { | ||||||
|  |  | ||||||
|  | @ -1,9 +1,9 @@ | ||||||
| const std = @import("std"); | const std = @import("std"); | ||||||
| const raylib = @import("raylib.zig"); | const raylib = @import("raylib.zig"); | ||||||
| const rl = raylib.rl; | const rl = raylib.rl; | ||||||
| const stateMod = @import("state.zig"); |  | ||||||
| const home = @import("home.zig"); | const home = @import("home.zig"); | ||||||
| const departure = @import("departure.zig"); | const departure = @import("departure.zig"); | ||||||
|  | const AppState = @import("state.zig"); | ||||||
| 
 | 
 | ||||||
| pub fn main() !void { | pub fn main() !void { | ||||||
|     var gpa = std.heap.GeneralPurposeAllocator(.{}){}; |     var gpa = std.heap.GeneralPurposeAllocator(.{}){}; | ||||||
|  | @ -25,7 +25,7 @@ pub fn main() !void { | ||||||
|     var station_name_buffer: [100]u8 = .{0} ** 100; |     var station_name_buffer: [100]u8 = .{0} ** 100; | ||||||
|     var platform_buffer: [20]u8 = .{0} ** 20; |     var platform_buffer: [20]u8 = .{0} ** 20; | ||||||
|     var station_id_buffer: [10]u8 = .{0} ** 10; |     var station_id_buffer: [10]u8 = .{0} ** 10; | ||||||
|     var appState = stateMod.AppState{ |     var appState = AppState{ | ||||||
|         .allocator = allocator, |         .allocator = allocator, | ||||||
|         // .db_font = font, |         // .db_font = font, | ||||||
|         .home_screen_state = .{ |         .home_screen_state = .{ | ||||||
|  |  | ||||||
|  | @ -26,11 +26,9 @@ pub const DepartureScreenState = struct { | ||||||
|     loading: bool = false, |     loading: bool = false, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| pub const AppState = struct { | allocator: std.mem.Allocator, | ||||||
|     allocator: std.mem.Allocator, | close_app: bool = false, | ||||||
|     close_app: bool = false, | db_font: ?rl.Font = null, | ||||||
|     db_font: ?rl.Font = null, | screen: Screen = .home, | ||||||
|     screen: Screen = .home, | home_screen_state: HomeScreenState, | ||||||
|     home_screen_state: HomeScreenState, | departure_screen_state: DepartureScreenState, | ||||||
|     departure_screen_state: DepartureScreenState, |  | ||||||
| }; |  | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue