I'm using a pip version of Pygame, and I've written all my code. There's absolutely no errors in the code (for all I know). I mean, there could be some type of hidden error, but all I'm seeing is my everyday ✔ on the top right of the screen. I run it, and it's barely displaying the wanted output. It's like a huge chunk of code is acting... null.
Anyways, here's my code.
import pygame as pg
import pygame.display
pg.init()
x = 1600
y = 900
scrn = pg.display.set_mode((x, y))
red = (255, 0, 0)
white = (255, 255, 255)
grey = (128, 128, 128)
scrn.fill(white)
pg.draw.rect(scrn, grey, pg.Rect(30, 30, 60, 60))
pg.display.flip()
def message(msg, colour):
    mesg = font_style.render(msg, True, colour)
pg.display.set_caption("Toronto Raptors - Stats Viewer by Krish")
new_icon = pg.image.load("Raptors-Logo.png")
pg.display.set_icon(new_icon)
players = ["Pascal Siakam", "pascal siakam", "PASCAL SIAKAM", "Pascal siakam", "pascal Siakam", "Scottie Barnes", "scottie barnes", "SCOTTIE BARNES", "Scottie barnes", "scottie Barnes", "Jakob Poeltl", "jakob poeltl" "JAKOB POELTL", "Jakob poeltl", "jakob Poeltl"]
pg.draw.rect(scrn, grey, pg.Rect(30, 30, 60, 60))
pygame.display.flip()
def main():
    screen = pg.display.set_mode((900, 600))
    font = pg.font.Font(None, 32)
    clock = pg.time.Clock()
    input_box = pg.Rect(25, 540, 140, 32)
    color_inactive = pg.Color('red2')
    color_active = pg.Color((30, 30, 30))
    color = color_inactive
    active = False
    text = ''
    done = False
    while not done:
        for event in pg.event.get():
            if event.type == pg.QUIT:
                done = True
            if event.type == pg.MOUSEBUTTONDOWN:
                if input_box.collidepoint(event.pos):
                    active = not active
                else:
                    active = False
                color = color_active if active else color_inactive
            if event.type == pg.KEYDOWN:
                if active:
                    if event.key == pg.K_RETURN:
                        print(text)
                        text = ''
                    elif event.key == pg.K_BACKSPACE:
                        text = text[:-1]
                    else:
                        text += event.unicode
        screen.fill((white))
        txt_surface = font.render(text, True, color)
        width = max(200, txt_surface.get_width()+10)
        input_box.w = width
        screen.blit(txt_surface, (input_box.x+5, input_box.y+5))
        pg.draw.rect(screen, color, input_box, 2)
        pg.display.flip()
        clock.tick(30)
if __name__ == '__main__':
    pg.init()
    main()
    pg.quit()
Now, take a look at the output: Click for output
Either something's going on with Pygame, or my code's just wrong.
The part that's not showing is my rectangle, even thought the code is perfectly fine.
pg.draw.rect(scrn, grey, pg.Rect(30, 30, 60, 60))
pg.display.flip()